Java 表达式是否被视为语句,而不是相反?混乱
简单语句是执行动作的语法单位。例如,将表达式返回或赋值给新的或已声明的变量 文字被视为一个表达式,但如果表达式包含多个操作数并将其计算为单个结果,则可以说表达式执行计算操作,返回其结果值 从这个意义上讲,如果一个表达式也执行一个动作,它就不是一种语句类型。说明了语句和表达式之间的关系: 某些类型的表达式可以在后面加分号用作语句。。。。通过计算表达式执行表达式语句;如果表达式具有值,则该值将被丢弃 语句可以是以下语句之一: 声明:Java 表达式是否被视为语句,而不是相反?混乱,java,expression,Java,Expression,简单语句是执行动作的语法单位。例如,将表达式返回或赋值给新的或已声明的变量 文字被视为一个表达式,但如果表达式包含多个操作数并将其计算为单个结果,则可以说表达式执行计算操作,返回其结果值 从这个意义上讲,如果一个表达式也执行一个动作,它就不是一种语句类型。说明了语句和表达式之间的关系: 某些类型的表达式可以在后面加分号用作语句。。。。通过计算表达式执行表达式语句;如果表达式具有值,则该值将被丢弃 语句可以是以下语句之一: 声明: 不带trailingsubstation的语句 标签状态 假
- 不带trailingsubstation的语句
- 标签状态
- 假言陈述
- 如果没有其他声明
- WhileStatement
- 预告
x = 5;
new StringBuilder ();
someMethodCall ();
- 挡块
- 空置
- 表达陈述
- 资产负债表
- 开关语句
- 剂量陈述
- 紧急声明
- 继续陈述
- 返回声明
- 同步语句
- 喉
- 幽会
- 陈述表达李>
- 分配
- 预增量表达式
- 预分泌压
- 增加后表达
- 后减压力
- 方法调用
- ClassInstanceCreationExpression
x = 5;
new StringBuilder ();
someMethodCall ();
下面是一个不能用作语句的表达式示例(因为必须对其值进行处理):
因此,并非所有表达式都可以被视为语句
至于另一个方向,大多数语句都不是表达式。@Sweeper我给c#@Eran添加了标签,我为您用Java替换了c#。我确信我也同意这一点,2之间可能有差异,但这很好“表达式语句是通过计算表达式来执行的;如果表达式有值,则该值将被丢弃。”等等,表达式甚至可能没有值吗?这听起来是不可能的,表达式应该总是计算为值。@PatrikNusszer MethodInvocation表达式不一定有值(它可以是
void
方法)。所以表达式总是计算为值是不真实的?这是一个非常大的发现…@PatrikNusszer是的,这是不真实的。你能说表达式是语句的子集吗?