三元运算符
格式:条件表达式?值1:值2
执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2
如下例子:
public class YunSuanfu {
public static void main(String[] args) {
double score = 57;
// 三元运算符的应用
String sr = score >=60 ? "成绩及格":"成绩不及格";
System.out.println(sr);
//找出2个整数中较大的值
int m = 32;
int n = 56;
int max = m>n ? m:n;
System.out.println(max);
//找3个整数中的较大值
int i = 23;
int j = 65;
int k = 35;
int temp = i>j ? i:j;
int MAX = temp>k ? temp:k;
System.out.println(MAX);
}
}
运算优先级
优先级 | 运算符 |
1 | () |
2 | !、-、++、-- |
3 | *、/、% |
4 | +、- |
5 | <<、>>、>>> |
6 | <、<=、>、>=、instanceof |
7 | ==、!= |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
14 | =、+=、-=、*=、/=、%=、&= |
System.out.println(10>2||10>3&&10<3); //true
运算符特点
- &:有一个为false,结果是false
- &&:有一个为false,结果是false,但是前一个为false,后一个条件不执行了
- |:有一个为true,结果是true
- ||:有一个为true,结果是true,但是前一个为false,后一个条件不执行了
- !:!false=true,!true=false
- ^:相同是false,不同是true
&、|可用于位运算,当左右两边的条件不是布尔型,而是数字时,它会进行位运算
eg:
((y==1)==0))&&((x==6)==6));
x的值仍为1,经过下列位运算后
((y==1)==0))&((x==6)==6));
x的值为6