赞
踩
java中三元运算符在运算符进行计算的时候,是作为一个整体的。
条件表达式 ? 表达式 1: 表达式 2;
运算规则:
1. 如果条件表达式为 true,运算后的结果是表达式 1;
2. 如果条件表达式为 false,运算后的结果是表达式 2;
但是最终结果的数据类型等级要取两个结果表达式中最大的那个进行输出。
举个两个例子:
例子1:
Object obj1 = true? 1 : 2.0; System.out.println(obj1);
这段代码是用了三元运算符的,三元运算符在运算的时候要把结果提升到表达式2的精度,也就是double,最终的输出结果是1.0 。我运行代码的结果如下图:
例子2:
Object obj2;
if(true){
obj2 = 1;
}else{
obj2 = 2.0;
}
System.out.println(obj2);
这段代码是使用了简单的if...else...循环,该循环在功能上和三元运算符效果类似,但是两个{}中的内容却属于两个部分,所以该段代码的运行结果是1 。截图如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。