java中三目元算符的运算原理
内容摘要
格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2运算原理:布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。布尔类型表达式结果是false,三元运算符整体结果为
文章正文
格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2
运算原理:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
相关视频教程推荐:java学习
示例如下:
package test; public class Test { public static void main(String[] args) { // 方式一 Object o1 = true ? new Integer(1) : new Double(2.0); // 方式二 Object o2; if (true) o2 = new Integer(1); else o2 = new Double(2.0); System.out.println(o1); System.out.println(o2); // 方式三 Integer i = new Integer(1); if (i.equals(1)) i = null; Double d = new Double(2.0); Object o3 = true ? i : d; // 空指针异常 System.out.println(o3); } }
运算结果:
在印象中一和二两种方式应该是等效的,但是得到的结果却不一样。由此可见,三目运算符会在有需要的情况下,对操作数进行类型提升。注意:只是在有需要的时候,否则会抛出空指针异常。
更多相关文章推荐:java编程入门
代码注释
[!--zhushi--]