1.5 运算符

 

 

 

优先级:在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代

 

 

一、加减乘除

  • 两个int类型相除,先转类型

    int b = 20;
    int c = 25;
    long d = 123123123123123123L;
    // 1、加减乘除
    System.out.println(a+b);
    System.out.println(a*b);
    System.out.println(a/(double)b);  // 两个int类型相除,先转类型,避免为0
    System.out.println(a + d);  // 不同类型计算,返回高占位的
  • 自增、自减

        int a = 3;
       int b = a++;  // ++ 放在变量a后面,将值赋给新变量b,本身再加1
       System.out.println(a);
       System.out.println(b);
       int c = ++a; // ++ 放在变量a前面,a加1后将值赋给新变量b
       System.out.println(a);
       System.out.println(c);
       
  • 幂运算 :Math.pow(a,n)

  • += :a+=b 等同于 a=a+b

    -= : a-=b 等同于 a=a-b

    关系型运算符中: instanceof 作用是判断对象是否为某个类或接口类型

二、逻辑运算

&&与 ,||或,!非

        boolean a = true;
       boolean b = false;
       System.out.println("a&&b:" +(a&&b));
       System.out.println("a||b:" +(a||b));
       System.out.println("!(a&&b):" +!(a&&b));

短路运算原则

三、位运算 & | ^ ~ >> << >>>

对2个二进制数的每位上的数值逐一进行比较

  • a&b :2个数的当前位上值都为1时返回1,其他均返回0;

  • a|b :2个数的当前位上值只要有1就返回1,否则为0;

  • a^b : 2个数的当前位上值相同返回1,不同返回0;

  • ~b : b当前位上值的相反值

  • <<:左移 ,表示乘以2 。 2*8怎么运算最快:2<<3

  • '>>' 右移,除以2

五、字符串连接符

字符串与数值用"+"连接时,注意先后顺序的计算

“”+10+20 >> "1020"

10+20+"" >> "30"

六、三元运算 ? :

x? f1 : f2 若x为真返回f1,否则返回f2

int score = 80;
String type = score >=60 ?"及格":"不及格";
System.out.println(type);

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-11-25 15:32  微微要努力  阅读(2)  评论(0)    收藏  举报