Java基础(9,10) ——运算符补充

逻辑运算符

与(and) 或(or) 非(取反)

//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;

System.out.println("a && b: "+(a&&b));  //a && b: false  逻辑与运算:两个都为真。结果才是真
System.out.println("a || b: "+(a||b));  //a || b: true   逻辑或运算:两个变量一个为真,则结果才为true
System.out.println("! (a && b): "+!(a&&b));  //! (a && b): true  //如果是真,则变为假,如果是假则变为真

//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);  //fasle
System.out.println(c);  //5

位运算

/*
  A = 0011 1100
  B = 0000 1101

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

  2*8 = 16  2*2*2*2
  <<
  >>
  效率极高
  0000 0000    0
  0000 0001    1
  0000 0010    2
  0000 0011    3
  0000 0100    4
  ....
  0000 1000    8
  ....
  0001 0000    16
  */

System.out.println(2<<3);  //16

其他

int a = 10;
int b =20;
a +=b; //a = a+b
System.out.println(a);//30

a -=b; //a = a-b
System.out.println(a);//10
//字符串连接符  + , String, 前面出现,则a,b变为String 从左到右顺序解析
System.out.println(a+b);//30
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30

三元运算符

//x ? y : z
//如果下 x == true, 则结果为有, 否则结果为z
int score = 80;
String type1 = score < 60? "不及格":"及格";
System.out.println(type1);  //及格
score = 59;
String type2 = score < 60? "不及格":"及格";
System.out.println(type2);  //不及格
posted @ 2021-06-30 14:43  sdgjll  阅读(54)  评论(0)    收藏  举报