我已阅读 Oracle's expressions tutorial并且无法理解。
众所周知,以下代码行是有效的 Java 语法:
new Object();
但是,当我尝试使用原始表达式时:
(3 + 2);
Eclipse 显示“赋值的左侧必须是变量”的编译错误。
这不仅适用于原语,也适用于字符串文字:
"arbitraryString";
那么,未赋值表达式作为 Java 代码行有效的规则是什么?
最佳答案
规则在Java Language Specification :
Certain kinds of expressions may be used as statements by following them with semicolons.
ExpressionStatement:
- StatementExpression ;
StatementExpression:
- Assignment
- PreIncrementExpression
- PreDecrementExpression
- PostIncrementExpression
- PostDecrementExpression
- MethodInvocation
- ClassInstanceCreationExpression
您会看到构造函数调用是一个语句。但字符串文字或数学表达式不是。
关于java - 什么时候未赋值的表达式是有效的语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32406041/