Java中有一个Tic Tac Toe游戏,我试图理解方法的语法,但我不知道return语句正在做什么。这是方法,它位于TicTacToePanel类中:
private String getStartPlayer() {
String[] players = {"X","O"};
int value = -1;
while (value == -1) {
value = JOptionPane.showOptionDialog(null,
"Select player to start the game:", "Start Player",
JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null,
players, "X");
System.out.println(value);
}
return (value == 0 ? "X" : "O");
}
我特别不理解的是return
。我知道这是陈述某些内容的另一种方式,但我不熟悉?
和:
如果游戏中有更多的玩家,比如Y和Z,你会如何使用这个返回语句超过2个选项?
答案 0 :(得分:3)
return (value == 0 ? "X" : "O");
与
相同if(value == 0)
return "X";
else
return "O";
答案 1 :(得分:1)
这是一个条件运算符(Java唯一的三元运算符 - 感谢@Pshemo),由?
运算符表示。
我将其视为如果? 然后:否则;
return (value == 0 ? "X" : "O");
因此,如果value
等于0,return "X"
,则为return "O"
。
Oracle's documentation将其描述为:
条件运算符
?:
三元(简称 if-then-else 声明)
这可以用于任何作业,而不仅仅是返回语句:
String noughtOrCross = (value == 0 ? "X" : "O");
return noughtOrCross;
答案 2 :(得分:1)
这是一个三元运营商。更多信息:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
if (value == 0) {
return "X";
} else {
return "O";
}
答案 3 :(得分:0)
它是三元运营商。参见:
答案 4 :(得分:0)
如果值等于0," X"将被退回,否则将是" 0"。 有关三元运算符的更多信息,请参见此处:
http://alvinalexander.com/java/edu/pj/pj010018
在这里
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
回答第二个问题:"如果游戏中有更多玩家,比如Y和Z,你将如何使用这个返回语句超过2个选项":
此方法将始终返回" X"或者" 0",在这种情况下,玩家数量(或方法调用)对返回没有影响(返回类型:字符串,可能返回的值:" X"或者" 0"由于return语句中的条件),如果之前没有抛出任何异常,那么。
答案 5 :(得分:0)
它是Java中的shorthand运算符之一,链接中的#13。它基本上是一个缩短的if语句。 :)
答案 6 :(得分:0)