#博学谷IT学习技术支持#
三元运算符
一、格式
三元运算符的书写:
int a = 20;
int b = 10;
int max = a > b ? a : b;
System.out.println(max);
解析:如果 ? 前的表达式为 true 则 max = a ,否则 max = b。
二、三元运算符的意义
三运运算符可以简化大部分if体系中第二种格式if...else的书写,例如:
//if格式2
int max = 0;
if (a > b) {
max = a;
} else {
max = b;
}
System.out.println(max);
三元运算符可改写为:
int max = a > b ? a : b;
System.out.println(max);
这无疑大大节省了开发的时间,也简化了繁琐代码的书写
三、注意
1.三运运算符可以简化大部分的if...else语句的书写,但并不是所有的都可以被改写,例如:
//if格式2
if (a > b) {
System.out.println(a);
} else {
System.out.println(b);
}
这种情况三元运算符就不以改写,因为没有值的接收。三元运算符是有返回值的,我们可以接收返回值再输出,或者直
接进行输出。
//定义返回值进行接收
int max = a > b ? a : b;
//输出返回值
System.out.println(max);
//直接输出三元运算的结果
System.out.println(a > b ? a : b);
2.三元运算符当定义了新的变量去接收返回值时,必须同时保证表达式左边和表达式右边都符合接收值数据类型的要求,
不然就会出现数据溢出和精度损失的问题。
//程序报错,因为表达式左边为int类型,右侧为double 类型,和int类型的接收值不一致
int number = 5 > 6 ? 5.6 : 20;
这是我学习中遇到的问题和解决方案,发该博客是为了记录遇到的这些情况,希望可以给看到的你有所帮助,如有不足,请指出。