013_JAVA基础语法_运算符

一、JAVA语言运算符

二、重点掌握

  1. 算数运算

    • 算术运算中存在比int容量高的类型,则结果类型为高容量的类型,否则结果就为int;

      long a = 1234567890122345L;
      int b = 123;
      short c = 10;
      byte d = 8;
      System.out.println(a+b+c+d); //Long
      System.out.println(b+c+d);  // int
      System.out.println(c+d);    // int

       

    • 自增自减注意事项

      • ++,-- 在变量后面时,执行玩这段代码后,变量才会增加或减少;

      • ++,-- 在变量前面时,执行玩这段代码前,变量先增加或减少;

    • 很多的算数运算会使用工具类来操作。

      b=a++//执行完这局代码后,先赋值再自增
      b=++a;//执行完这局代码前,先自增,再自增  
  2. 关系运算符返回的结果为布尔值

    • ==只能使用在基础类型中,以及对象和null比较时;

    • 当对象和对象比较想使用“==”判断时,应该使用equals来判断。

  3. 逻辑运算符

    • 逻辑与(&&)运算,两个为true才为true;逻辑或(||)运算,两个为false才为false;逻辑非(!)运算,为true则结果为false,为false则结果为true

    • 短路运算

      • 逻辑与(&&)时,前一个逻辑表达式为false,则后面的逻辑表达式不再进行判断;其结果为false;

      • 逻辑或(||)时,前一个逻辑表达式为true,则后面的逻辑表达式不再进行判断;其结果为true。

      boolean flag = true;
      boolean flag1 = false;
      System.out.println("flag && flag1 :"+(flag && flag1)); //flag && flag1 :false
      System.out.println("flag || flag1 :"+(flag || flag1)); //flag || flag1 :true
      System.out.println("!(flag && flag1) :"+!(flag && flag1)); //!(flag && flag1) :true
      //短路运算
      int num =4;
      boolean flag2 = (num < 4) && (num++<4);
      System.out.println(num); //4
      System.out.println(flag2); //false

       

  4. 位运算符

    • & 都为1,结果为1

    • | 都为0,结果为0

    • ^ 相同为0,不同为1

    • ~ 取反

      A = 0011 1100
      B = 0000 1101
      A & B = 0000 1100
      A | B = 0011 1101
      A ^ B = 0011 0001
      ~A = 1100 0011

       

    • 左移(<<) *2

    • 右移(>>) /2 (尖尖只哪边往哪边移)

      //2*8 如何计算最快? 2*2*2*2

       

  5. 三元运算符(条件运算符 ?:)

    • 必须掌握

    • 格式 x ?y :z

    • 如果x为true,则结果为y;否则结果为z

      int score = 50;
      String type = score < 60 ? "不及格" : "及格";
      System.out.println(type);  //不及格
  1. 扩展赋值运算符(用于偷懒使用,代码简洁)

    int number1 = 10;
    int number2 = 20;
    number1+=number2;   //number1=number1+number2;
    number1-=number2;   //number1=number1-number2;

     

三、扩展

  1. 字符串连接符 +

    (面试题)String类型在字符连接符前面则其他操作数也会转换为String类型

    int number1 = 10;
    int number2 = 20;
    System.out.println(""+number1+number2); //1020
    System.out.println(number1+number2+""); //30
  2. 运算符优先级(了解并熟悉)

posted @   小何呀  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示