当前位置: 首页 > 知识库问答 >
问题:

“?”在Java是什么意思?[重复]

羊舌成周
2023-03-14

我不知道问号(< code >?)在java里代表,我在做一个小程序,一个Nim-game。我们在一本书里寻求帮助,看到了这样一句话:

int pinsToTake = (min >= 2) ? 2 : 1;

我不明白,会代表什么?表示,它可以与if语句有关但您将其放在变量中吗?并且可以是“其他”?(我刚才说的这些事情可能会很误导)

共有3个答案

柯冯浩
2023-03-14

它的意思是:

if(min >= 2) 
   someval =2;
else 
   someval =1

它被称为三元运算符。请参见这个java示例

子车安和
2023-03-14

它的< code >三元运算符也称为条件运算符,看看参考吧

像< code>Object bar = foo.isSelected()?get selected(foo):get selected(baz);

例如。操作数1?操作数2:操作数3

  • 如果操作数1为true,则返回操作数2,否则返回操作数3
  • operand1必须是布尔类型
  • operand1可以是计算为布尔类型的表达式
  • operand1和operand2必须是可提升的数字类型或可强制转换的对象引用,或为null
  • 如果操作数2或操作数3中的一个是字节,另一个是短,则返回值的类型将是短
  • 如果操作数2或操作数3中的一个是字节、短或字符,另一个是适合其他操作数范围的常量int值,则返回值的类型将是其他操作数的类型
  • 否则,将应用正常的二进制数字提升
  • 如果操作数2或操作数3之一为空,则返回的类型将是另一个操作数的类型
  • 如果操作数2和操作数3都是不同的类型,则其中一个必须与另一个类型引用兼容(可强制转换)
贺卜霸
2023-03-14

Someval = (min

这称为三元运算符,可以用作 if-else。这相当于

if((min >= 2) {
   someval =2;
} else {
   someval =1
}

请按照本教程了解更多信息和用法。

 类似资料:
  • 问题内容: 我写Java已有一段时间了,今天我遇到了以下声明: 请注意数组声明中的“点点点”,而不是通常的括号[]。显然可以。实际上,我写了一个小测试并验证了它的有效性。因此,我提取了Java语法,以查看参数声明语法的位置,但未找到任何内容。 那么对那里的专家来说,这是如何工作的呢?它是语法的一部分吗?另外,虽然我可以像这样声明函数,但不能像这样在函数体内声明数组。 无论如何,您知道在哪里记录了此

  • 我很难理解<代码> 结果是15 但是怎么会变成15呢?

  • 请帮助我理解这个表达是什么意思?

  • 我发现这段代码是为了在SO post中找到重复的代码。但我不明白这行是什么意思

  • 但是得到了错误:

  • 问题内容: 我已经看到了声明,接口和类 这是什么意思? 问题答案: 没有证据,我相信您在谈论Java的泛型支持… 泛型允许您抽象类型 在Java 5之前,很难提供能够支持多种不同类型的Objects的类而不必为每种特定情况编写代码,因此人们通常会这样做。 这导致在运行时做出许多困难的选择,您必须进行运行时检查以查看是否有可能将给定的Object强制转换为可用类型…例如 现在,这已经很明显了,但是如