`
smartyidiot
  • 浏览: 18261 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Java 三元运算符( ?:) 的幽默

阅读更多

三元运算符又称为条件运算符,相当于if else的效果。其作用是简化操作和优化代码显示。

以前一直在C#中使用,得到的结果一直是如果两个数据类型不同,则会进行向上转型,如char-->int

运行这段代码,会得到的结果是:8888.如上面的解释一样。(备注:如果x和i之间没有直接的类型转换,则无法编译通过)

但是,在java中执行,却是不同的结果。

运行这段结果,得到的却是:X88,可以看到三元运算符的结果,与第二个表达式的类型有直接的关系。

对于第一个表达式:true ? x :0 因为x的类型为char,当表达式为真的时候,结果类型为char,得到的结果是X。

对于第二个表达式:false ? i : x,因为i的类型为整型,当表达式为false的时候,结果类型为int,于是char向上转型为整型,输出88。

 

结论:

1、在不同的开发语言中,一定要注意相同的语句,可能会存在不同的结果。

2、尽量避免在条件运算符两侧,使用不同的数据类型。

分享到:
评论

相关推荐

    35.java三元运算符.zip

    35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元...

    三元运算符2_Html文件_三元运算符_

    三元运算符,也称为条件运算符,是一种简洁的、基于条件的语法结构,它可以在一行代码中完成简单的条件判断和赋值操作。它的基本形式是:`条件 ? 表达式1 : 表达式2`。如果条件为真,那么表达式1的结果会被执行或...

    C# 运算符 ?、??、?: 各种问号的用法和说明

    三元运算符是C#中的条件运算符,它允许在一个简洁的表达式中根据条件返回两个可能的结果之一。它的语法是`condition ? resultIfTrue : resultIfFalse`。如果`condition`为真,那么返回`resultIfTrue`;如果`...

    三元运算符的特性

    3. **类型推断**:在一些支持类型推断的语言(如C#、Java)中,三元运算符的返回类型会根据表达式1和表达式2的类型自动确定。这使得我们可以写出更灵活的代码,无需显式指定返回类型。 4. **返回值**:三元运算符的...

    Java三元运算符之两只老虎案例

    用两只老虎的案例教会大家如何使用Java的三元运算符,非常的简单易懂哦,适合初学者学习

    java学习-java的运算符

    6. **条件运算符**:三元运算符`? :`,如`result = (x > y) ? x : y;`,当x大于y时,result将被赋值为x,否则为y。 7. **增量和减量运算符**:`++`和`--`可以在变量前或后使用,分别增加或减少变量的值。例如,`x++...

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

    在Golang中,你可能会发现一个与其他编程语言不同的特点,那就是它不支持三元运算符。三元运算符通常在其他语言如Python、JavaScript、C++等中被广泛使用,其语法形式为`条件表达式 ? 真值表达式 : 假值表达式`。...

    实例024 - 用三元运算符判断奇数和偶数

    这个例子可能来源于C、C++、C#、Java或者类似的编程语言,因为这些语言都支持三元运算符。 三元运算符的基本语法结构如下: `条件 ? 表达式1 : 表达式2` 这里的条件如果为真(非零),则执行表达式1;反之,如果...

    javascript文档

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

    java运算符小程序

    6. **条件运算符(三元运算符)**:`? :`,也称为三目运算符,提供了一种简洁的方式进行条件赋值。例如,`int max = (a > b) ? a : b;`会将较大的值赋给`max`。 7. **复合赋值运算符**:像`+=`, `-=`等,它们结合了...

    javascript运算符语法全面概述.docx

    5. 三元运算符:包括条件运算符?:,用于根据条件选择不同的值。 6. 赋值运算符:包括赋值运算符=、加法赋值运算符+=、减法赋值运算符-=等,用于将值赋给变量。 7. 逗号运算符:包括逗号运算符,,用于将多个表达式连接...

    java特殊运算符

    6. **空安全的条件运算符`:?.`**: Java 8引入了一个空安全的条件运算符,也称为Elvis运算符。当左侧表达式为null时,表达式结果为右侧的值,否则为左侧。例如,`obj?.method()`会在obj为null时避免抛出...

    三元运算符的玩法 if else if

    三元运算符是一种简化版的条件语句,在C、C++、Java等众多语言中均有支持。其基本语法格式为: ``` 条件 ? 表达式1 : 表达式2; ``` 这里的“?”相当于“if”,“:”相当于“else”。当“条件”为真时,整个表达式...

    8.5 条件运算符:.7z

    标签“8.5条件运算符:?:”进一步强调了讨论的核心是编程语言中的条件运算符。在某些编程语言中,如C和C++,条件运算符的语法是`condition ? expression1 : expression2`,其中`?`和`:`是操作符,`condition`是一...

    JAVA的运算符介绍共1页.pdf.zip

    6. **条件运算符(三元运算符)**:`? :`运算符提供了一种简洁的条件赋值方式,如`result = cond ? value1 : value2;`如果cond为真,result得到value1,否则得到value2。 7. **增强赋值运算符**:类似于复合赋值...

    Java各种运算符简述

    6. **条件运算符(三元运算符)**: - `(条件) ? 表达式1 : 表达式2` 根据条件的结果选择执行表达式1或表达式2。例如,`int max = (a > b) ? a : b;` 返回a和b中的较大值。 7. **身份运算符**: - `==` 和 `!=` ...

    操作员前功

    经营者目标使用三元运算符( ?: :)。 了解何时使用三元运算符了解语句修饰符的用法使用比较运算符和布尔运算符进行检查。 练习使用if , elsif和else语句实现控制流。审核操作在本实验中,我们将使用if , elsif和...

    运营商-v-000

    经营者目标使用三元运算符( ?: :)。 了解何时使用三元运算符了解语句修饰符的用法使用比较运算符和布尔运算符进行检查。 练习使用if , elsif和else语句实现控制流。审核操作在本实验中,我们将使用if , elsif和...

    operators-001-prework-web

    运营商目标使用三元运算符( ?: :)。 了解何时使用三元运算符了解语句修饰符的用法使用比较运算符和布尔运算符进行检查。 练习使用if , elsif和else语句实现控制流。审核操作在本实验中,我们将使用if , elsif和...

    operators-online-web-sp-000

    使用三元运算符( ?: :)。 了解何时使用三元运算符 了解语句修饰符的用法 使用比较运算符和布尔运算符进行检查。 练习使用if , elsif和else语句实现控制流。 审核操作 在本实验中,我们将使用if , elsif和else...

Global site tag (gtag.js) - Google Analytics