条件表达式(三目运算符)
布尔表达式1 ? 表达式2 : 表达式3 ;
冒号前边必须为布尔表达式,表达式2和表达式3通常指一个执行结果,最终执行结果将作为整个表达式的结果。
布尔表达式计算结果为true,执行表达式2,表达式3不执行
布尔表达式计算结果为false,越过表达式2,执行表达式3
表达式2和3中也可以嵌套,但是不推荐
import java.until.Scanner;
public class Test{
static Scanner inScanner = new Scanner(System.in);
public static void main(String []args){
int n = 1;
String m = “ ”;
System.out.println(“输入数字”);
n = inScanner.nextInt();
m=n>=5?”10”:”20”;
System.out.println(m);
}
}
//输入数字大于5输出结果为10,输入数字小于5输出结果为20
条件表达式中表达式2和3要想接收的话必须要有兼容的类型。如果不接收的花可以直接输出,例System.our.println(布尔表达式1 ? 表达式2 : 表达式3 );这种情况表达式2和3就可以不具备兼容的类型
x=表达式1?表达式2:表达式3?表达式4:表达式5···执行顺序是从右到左依次判断再求出最后的x
如果最后一个表达式是逗号表达式,注意逗号表达式的优先级比条件表达式的优先级低,实际运用中应该避免这种情况以免出错。
例如: int a=1,b=2,c=3,d=4;则条件表达式x=a<b?a:c<d?c:d;的值为:1