gpt4 book ai didi

java - 为什么不能用简写 IF 语句进行条件赋值?

转载 作者:行者123 更新时间:2023-11-30 01:51:31 26 4
gpt4 key购买 nike

我正在尝试更新我的 Blackjack 游戏的软计数,以考虑正在玩的 Ace(值 11 或 1)。使用简式 IF 语句时,为什么第一行代码不正确,但第二行可以使用?这种类型的 if 语句有限制吗?

(counter > 1) ? (softcount+=1) : (softcount+=value); // bad


softcount += (counter > 1) ? 1 : value; // good

最佳答案

这就是语言的定义方式。

只有某些表达式(语句表达式)可以通过添加 ; 变成语句。 (语句表达式 + ; 是一个表达式语句)。

来自JLS Sec 14.8 :

ExpressionStatement:
StatementExpression ;

StatementExpression:
Assignment
PreIncrementExpression
PreDecrementExpression
PostIncrementExpression
PostDecrementExpression
MethodInvocation
ClassInstanceCreationExpression

条件表达式不是语句表达式。

关于java - 为什么不能用简写 IF 语句进行条件赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55866287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com