`
yutaozxy
  • 浏览: 69023 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

三元运算符的特性

    博客分类:
  • java
阅读更多

今天工作的时候,帮同事看一个BUG,突然想到一个问题,大家如果有兴趣的话,不妨也想一下答案吧。

以下三段代码的输出分别是什么?为什么会有这样的结果?

1 public class BoxingTest {
2 
3     public static void main(String[] args) {
4         System.out.println(true ? null : 0);
5     }
6 
7 }

 

1  public class BoxingTest {
2     
3     public static void main(String[] args) {
4         System.out.println(true ? (Integer) null : 0);
5     }
6     
7 }

 

1 public class BoxingTest {
2 
3     public static void main(String[] args) {
4         System.out.println(true ? (Integer) null : new Integer(0));
5     }
6 
7 }

答案:null

       NullPointerException

       null

分享到:
评论

相关推荐

    JavaScript三元运算符的多种使用技巧

    JavaScript的三元运算符是一种简洁的条件表达式写法,其基本格式为:(条件表达式)?(条件为真时的结果):(条件为假时的结果)。这种运算符可以在多层嵌套if-else语句中带来更简洁和清晰的代码。 首先,普通用法是最...

    python 三元运算符使用解析

    最后,三元运算符是Python编程语言中一个非常有用的特性,它提供了条件表达式的一种快速、简洁的写法。通过示例代码我们可以看到,在进行简单的条件判断时,三元运算符能够有效地简化代码,提高开发效率。然而,使用...

    PHP三元运算符的结合性介绍

    ### PHP三元运算符的结合性介绍 #### 一、三元运算符简介 在PHP中,三元运算符(也称为条件运算符)...通过以上内容的学习,我们可以更好地掌握PHP中三元运算符的特性,并在实际开发中更加灵活地运用这一强大的工具。

    golang中为什么不存在三元运算符详解

    在Golang中,你可能会发现一个与其他编程语言显著不同的特性:它不支持三元运算符。三元运算符通常用于简洁地表示简单的条件赋值,例如在Python、JavaScript和C/C++中的用法。但在Golang中,你无法写出如`val := ...

    在delphi中实现任意类型的三元运算函数ThreeAsk

    在C或C++等语言中,三元运算符是一种简洁的条件表达式,它基于一个布尔表达式的值来选择两个可能的结果之一。其语法通常如下: ``` condition ? expression_if_true : expression_if_false ``` 如果`condition`为...

    php中的三元运算符使用说明

    当 `$a` 等于4时,根据三元运算符从左到右的计算特性,正确的输出应该是 `'foura'`,而不是 `'two'`。这是因为 `$a==1` 和 `$a==2` 的条件都不成立,程序会继续向右计算,直到找到第一个条件成立的位置。 文档中还...

    javascript文档

    条件(三元)运算符 (?:) 根据条件执行两个表达式之一。 constructor 属性 指定创建对象的函数。 continue 语句 停止循环的当前迭代,并开始一次新的迭代。 cos 方法 返回一个数的余弦。 Date 对象 提供日期和...

    cppcompiler:一个Mini C ++编译器,实现for,while和三元运算符

    "cppcompiler" 是一个迷你版的C++编译器,它专注于实现基本的编程控制结构,如 `for` 循环、`while` 循环以及三元运算符。这个项目可能旨在作为教学工具,帮助初学者理解编译器的工作原理,或者作为小型项目的起点,...

    单片机\C语言运算符表

    :`**:三元运算符,根据条件选择执行不同的分支。 9. **赋值运算符**:包括简单赋值`=`和其他复合赋值运算符,如`+=`、`-=`、`*=`、`/=`、`%=`、`、`>>=`等。 - **简单赋值`=`**:将右边的值赋给左边的变量。 - *...

    EL表达式运算符用法

    EL表达式还支持条件运算符,即三元运算符`? :`,用于根据条件选择不同的结果。 **语法格式:** ```java 条件表达式 ? 表达式1 : 表达式2 ``` 如果条件表达式的结果为true,则整个表达式的结果为表达式1;如果条件...

    java 喜连大三元

    不过,我们可以从上下文中推测,这可能与Java中的条件表达式(三元运算符)有关,或者是某种优化策略。下面,我们将深入探讨Java中的三元运算符以及它在编程实践中的应用。 Java三元运算符的语法形式如下: ```java...

    C运算符优先级PDF C运算符优先级PDF C运算符优先级PDF

    5. **条件运算符(三元运算符)**:`? :`,其优先级介于一元运算符和赋值运算符之间,从右到左结合。例如,`x ? y : z`会先计算`x`,然后根据结果选择执行`y`或`z`。 6. **逗号运算符(`,`)**:用于连接多个表达式...

    C++程序设计课件 ch10 运算符重载

    和.*)、域解析运算符(::)、sizeof运算符和三元运算符(?:)。 重载双目运算符时,通常需要重载运算符函数作为类的成员函数,这样可以使用一个参数进行操作。例如,复数加法的运算符重载函数可能这样定义: ```...

    java变量数据类型运算符

    6. **条件运算符**:三元运算符(? :)。这是Java中的一个特殊的运算符,用于根据条件选择执行其中一个表达式。 7. **增强赋值运算符**:++、--。这些运算符用于递增或递减变量的值,同时返回更新后的值。 面向...

    C++中不能重载的运算符

    - 条件运算符也称为三元运算符,其语法为 `expr1 ? expr2 : expr3`,其中 `expr1` 是一个布尔表达式,如果为真则返回 `expr2` 的值,否则返回 `expr3` 的值。由于这个运算符的语法结构独特且有固定的意义,所以不...

    关于条件运算符怎么用

    在C语言中,条件运算符(也称作三元运算符)是一种非常实用且灵活的语法结构,它可以在一行代码内实现简单的条件判断逻辑。条件运算符的一般形式为:`表达式1 ? 表达式2 : 表达式3`。这里,`表达式1`通常是一个关系...

    PHP7 新特性:合并运算符、太空船运算符(组合比较符).md

    1. **使用三元运算符**: 如`$variable = isset($someVar) ? $someVar : 'default';` 2. **使用逻辑或运算符**: 如`$variable = $someVar || 'default';`(但这种方式并不总是安全的,因为其会进行类型转换) 这两种...

    C语言运算符和关键字

    3. **三元运算符**:即条件运算符 `?:`。根据条件表达式的真假选择返回两个表达式之一的结果。 #### 运算符优先级及结合性 - **括号运算符** `()`、`[]`、`->` 和 `.` 具有最高的优先级,用于指定运算的范围或顺序...

Global site tag (gtag.js) - Google Analytics