Java 中的 “?” 是什么意思?
2022-09-04 23:56:56
我不知道问号()在java中代表什么,我正在做一个小程序,一个Nim游戏。在找书里找,寻求帮助,看到了这句话:?
int pinsToTake = (min >= 2) ? 2 : 1;
我不明白它,什么会代表,它能与if语句有关,但你把它放在一个变量中吗?和可以是“别的”?(我刚才说的这件事可能很有误导性)?
:
我不知道问号()在java中代表什么,我正在做一个小程序,一个Nim游戏。在找书里找,寻求帮助,看到了这句话:?
int pinsToTake = (min >= 2) ? 2 : 1;
我不明白它,什么会代表,它能与if语句有关,但你把它放在一个变量中吗?和可以是“别的”?(我刚才说的这件事可能很有误导性)?
:
someval = (最小值 >= 2) ?2 : 1;
这称为三元运算符,可用作 。这相当于if-else
if((min >= 2) {
someval =2;
} else {
someval =1
}
请遵循本教程以获取更多信息和用法。
它也被称为条件运算符,有个看参考ternary operator
喜欢Object bar = foo.isSelected() ? getSelected(foo) : getSelected(baz);
例如。operand1 ? operand2 : operand3
- 如果操作数 1 为 true,则返回操作数 2,否则返回操作数 3
- 操作数 1 必须是布尔类型
- operand1 可以是计算结果为布尔类型的表达式
- 操作数 1 和操作数 2 必须是可升级的数值类型或可重放的对象引用,或为 null
- 如果操作数 2 或操作数 3 中的一个是字节,另一个是短字节,则返回值的类型将为短
- 如果操作数2或操作数3中的一个是字节,短整或字符,而另一个是常量int值,它将适合其他操作数范围,则返回值的类型将是另一个操作数的类型
- 否则,将应用正常的二进制数字促销
- 如果操作数 2 或操作数 3 中的一个为空值,则返回的类型将是另一个操作数的类型
- 如果操作数 2 和操作数 3 是不同的类型,则其中一个必须与另一个类型引用兼容(可转换)