三目运算符
三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。其实三目运算符可以看作是简写的if判断语句。
格式
比较表达式?表达式1:表达式2;
根据比较表达式的计算返回一个true或者false。
如果是true,就把表达式1作为结果。
如果是false,就把表达式2作为结果。
案例
1.比较两个数据是否相等
class OperatorDemo {
public static void main(String[] args) {
int x = 100;
int y = 200;
//判断是否相等
boolean flag = (m == n);
System.out.println(flag);
//判断大小
int z = ((x > y)? x: y);
System.out.println("z:"+z);
}
}
运行结果:
2.取最大值
class OperatorTest {
public static void main(String[] args) {
//获取两个整数中的最大值
int x = 100;
int y = 200;
int max = (x > y? x: y);
System.out.println("max:"+max);
System.out.println("--------");
//获取三个整数中的最大值
int a = 10;
int b = 30;
int c = 20;
//分两步:
//A:先比较a,b的最大值
//B:拿a,b的最大值在和c进行比较
int temp = ((a > b)? a: b);
//System.out.println(temp);
int max1 = (temp > c? temp: c);
System.out.println("max1:"+max1);
//一步搞定
//int max2 = (a > b)?((a > c)? a: c):((b > c)? b: c);
//这种做法不推荐。
//int max2 = a > b?a > c? a: c:b > c? b: c;
//System.out.println("max2:"+max2);
System.out.println("--------");
//比较两个整数是否相同
int m = 100;
int n = 200;
//boolean flag = (m == n)? true: false;
boolean flag = (m == n);
System.out.println(flag);
}
}
运行结果