1.表达式
由运算符和操作数组成
2.运算符
算术运算符:+ - * / % ++ --
赋值运算符(左边不能为常量):= += -= *= /= %=
关系运算符(结果为布尔值):== != > < >= <=
逻辑运算符: ! & && | ||
条件运算符: ? :
(1) 赋值运算符:
例:char c = ‘c’;
Int i = 10;
String s = “hello”;
以下选项正确的是(a)
a. s+=i
b. i+=s
c. c+=i
d. c+=s
//字符串与整形相加得到字符串
(2) 关系运算符
例:’A’ >’B’; //false
5!=6; //true
True ==false; //false
float f = 5.0f;
long l =5;
f == l; //true
注意:浮点数与整数相比较,只要值相等就返回true
(3) 逻辑运算符
与(两边同时为true,则结果为true.若其中一个为false,则表达式结果为false) &&或&
或(两边同时为false,则结果为false.若其中一个为true,则表达式结果为true) ||或|
非(取反) !
其中&&和||为短路运算符:如果第一个表达式的值就能决定表达式最后的结果,那么右边的表达式就不再计算了。
例:
Int n = 3;
Boolean b =(3>7)&&((n++)<2);问:b = ? n = ?
b = false,n = 3(表达式右边并未进行计算)
Int n = 3;
Boolean b =(3>7)&((n++)<2);问:b = ? n = ?
b = false,n = 4
(4) 条件运算符(三目运算符):
语法:
布尔表达式?表达式1:表达式2
若布尔表达式的结果为true,执行表达式1并返回运算结果,否则,执行表达式2并返回运算结果。
例:
Int n=0;
Boolean x = 3>7? n+1 : n-1; //x = false
解析:
相当于if-else结构的简写
上面的例子就相当于以下代码:
Int n = 0; //声明int型变量n
Boolean x; //声明boolean型变量x
If(3>7){ //判断条件是否成立
X = n+1; //条件如果成立,执行以下代码
}
else{ //条件如果不成立,执行以下代码
x = n-1;
}
3.运算符的优先级(从上至下表示运算符的由高到低)
()
! ++ --
* / %
+ -
< > <= >=
== !=
&&
||
= -= += *= /= %=