条件运算符
? :
package operator;
public class Domo07 {
public static void main(String[] args){
int a = 10;
int b = 20;
a+=b; //a = a + b 输出结果为30
//a-=b; a = a - b
System.out.println(a);
}
}
package operator;
public class Domo07 {
public static void main(String[] args){
int a = 10;
int b = 20;
//字符串连接符 + , String
System.out.println(""+a+b);
//输出结果为1020 只要有一方出现string和类型,他就会把另外一个操作数或其他操作数都转换成string再进行拼接
System.out.println(a+b+"");
//输出结果为30 如果字符串在后面,前面的会依旧进行运算
}
}
三元运算符
运算优先级:在表达式运算中的运算顺序。优先级越高,在表达式中运算顺序越靠前
结合性:运算的方向,大多数运算符的结合性都是从左向右,即从左向右依次进行运算
单目运算符包括 !、~、++、--,优先级别高
可以通过“()”控制表达式的运算顺序,“()”优先级最高
优先顺序为 算术运算符>关系运算符>逻辑运算符
级别最低的是 赋值运算符,其次是条件运算符。
结合性从右向左的只有赋值运算符、三目运算符和单目运算符(一个操作数)
优先级 | 运算符 | 结合性 |
1 | ()、[]、. | 从左向右 |
2 | !、~、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | <<、>>、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、%=、=、^=、~=、<<=、>>=、>>>= | 从右向左 |
package operator;
public class Domo08 {
public static void main(String[] args){
//三元运算符 x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 90;
String type = score >60 ?"不及格":"及格"; //必须掌握
System.out.println(type);
}
}
扩展赋值运算符
+=,-=,*=,/=