Ale*_*ein 10 java ternary-operator conditional-operator
我不知道问号(?)在java中代表什么,我正在做一个小程序,一个Nim游戏.正在寻找一本书,寻求帮助并看到这句话:
int pinsToTake = (min >= 2) ? 2 : 1;
Run Code Online (Sandbox Code Playgroud)
我不明白,它?代表什么,它可以与if语句有关,但你把它放在变量中?而且:可以是"其他"的东西?(我刚才所说的这些事情可能会产生误导)
Nan*_*ale 24
someval =(min> = 2)?2:1;
这被称为三元运算符,可以用作if-else.这相当于
if((min >= 2) {
someval =2;
} else {
someval =1
}
Run Code Online (Sandbox Code Playgroud)
请阅读本教程以获取更多信息和用法.
它ternary operator也被称为条件运算符,有一个参考
喜欢 Object bar = foo.isSelected() ? getSelected(foo) : getSelected(baz);
例如. operand1 ? operand2 : operand3
- 如果operand1为true,则返回operand2,否则返回operand3
- operand1必须是布尔类型
- operand1可以是一个求值为布尔类型的表达式
- operand1和operand2必须是可升级的数字类型或可转换对象引用,或者为null
- 如果operand2或operand3中的一个是一个字节而另一个是short,则返回值的类型将为short
- 如果operand2或operand3中的一个是byte,short或char而另一个是一个常量int值,它将适合其他操作数范围,则返回值的类型将是另一个操作数的类型
- 否则,正常的二进制数字促销适用
- 如果operand2或operand3之一为null,则返回的类型将是另一个操作数的类型
- 如果operand2和operand3都是不同的类型,则其中一个必须与另一个类型引用兼容(可转换)
| 归档时间: |
|
| 查看次数: |
46546 次 |
| 最近记录: |