Java基础之运算符
运算符
Java语言支持如下运算符:
- 算数运算符: +, -, *, /, %, ++, --
- 赋值运算符 =
- 关系运算符: >, < , >=, <=, ==, !=, instanceof
- 逻辑运算符: &&, ||, !
- 位运算符: &, |, ^, ~, >> ,<< , >>>
- 条件运算符: ?, :
- 扩展赋值运算符: +=, -=, *=, /=
逻辑运算符
boolean a = true;
boolean b = false;
System.out.println(b&&a);//逻辑与运算:两个变量都为真,结果才为true
System.out.println(a||b);//逻辑或运算:两个变量有一个为真,则结果才为true
System.out.println(!(b&&a);//如果是真,则变为假,如果是假则变为真
在与运算(b&&a)中,如果b为假,则不会判断a的真假,通过短路运算来验证
int c = 5;
boolean d = (c<4)&&(c++<4);//如果c++<4运行了,则c=6
System.out.println(d);//false
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
2*8=2*2*2*2<<左移等价于 *2>>右移等价于 /2使用左移运算符即可快速计算
所以
2*8=2<<3使用位计算效率极高!
条件运算符
a += b;// a = a + b
a -= b;// a = a - b
int a = 10;
int b = 20;
//字符串连接符 + , String
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
条件运算符
//x ? y : z;
//如果x==true,则结果为y,否则为z
int score = 50;
String type = score<60?"不及格":"及格";//如果score<60则给type赋值不及格,否则赋值及格

浙公网安备 33010602011771号