Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 表达式是否被视为语句,而不是相反?混乱_Java_Expression - Fatal编程技术网

Java 表达式是否被视为语句,而不是相反?混乱

Java 表达式是否被视为语句,而不是相反?混乱,java,expression,Java,Expression,简单语句是执行动作的语法单位。例如,将表达式返回或赋值给新的或已声明的变量 文字被视为一个表达式,但如果表达式包含多个操作数并将其计算为单个结果,则可以说表达式执行计算操作,返回其结果值 从这个意义上讲,如果一个表达式也执行一个动作,它就不是一种语句类型。说明了语句和表达式之间的关系: 某些类型的表达式可以在后面加分号用作语句。。。。通过计算表达式执行表达式语句;如果表达式具有值,则该值将被丢弃 语句可以是以下语句之一: 声明: 不带trailingsubstation的语句 标签状态 假

简单语句是执行动作的语法单位。例如,将表达式返回或赋值给新的或已声明的变量

文字被视为一个表达式,但如果表达式包含多个操作数并将其计算为单个结果,则可以说表达式执行计算操作,返回其结果值

从这个意义上讲,如果一个表达式也执行一个动作,它就不是一种语句类型。

说明了语句和表达式之间的关系:

某些类型的表达式可以在后面加分号用作语句。。。。通过计算表达式执行表达式语句;如果表达式具有值,则该值将被丢弃

语句可以是以下语句之一:

声明:

  • 不带trailingsubstation的语句

  • 标签状态

  • 假言陈述

  • 如果没有其他声明

  • WhileStatement

  • 预告

不带trailingsubstation的语句可以是以下语句之一:

不带牵引子状态的语句:

x = 5;
new StringBuilder ();
someMethodCall ();
  • 挡块

  • 空置

  • 表达陈述

  • 资产负债表

  • 开关语句

  • 剂量陈述

  • 紧急声明

  • 继续陈述

  • 返回声明

  • 同步语句

  • 幽会

表达陈述是:

表达声明:

  • 陈述表达
其中语句表达式是以下之一:

语句表达式:

  • 分配

  • 预增量表达式

  • 预分泌压

  • 增加后表达

  • 后减压力

  • 方法调用

  • ClassInstanceCreationExpression

回答你的问题:

一些(但不是全部)表达式可以用作语句

下面是一些可以用作语句的表达式示例:

x = 5;
new StringBuilder ();
someMethodCall ();
下面是一个不能用作语句的表达式示例(因为必须对其值进行处理):

因此,并非所有表达式都可以被视为语句


至于另一个方向,大多数语句都不是表达式。

@Sweeper我给c#@Eran添加了标签,我为您用Java替换了c#。我确信我也同意这一点,2之间可能有差异,但这很好“表达式语句是通过计算表达式来执行的;如果表达式有值,则该值将被丢弃。”等等,表达式甚至可能没有值吗?这听起来是不可能的,表达式应该总是计算为值。@PatrikNusszer MethodInvocation表达式不一定有值(它可以是
void
方法)。所以表达式总是计算为值是不真实的?这是一个非常大的发现…@PatrikNusszer是的,这是不真实的。你能说表达式是语句的子集吗?