Java 语句也是表达式,请说明

Java statements which are also expressions, please explain

请帮我从纯术语的角度解释这句话:

“从技术上讲,由于变量赋值可以用作进一步赋值或操作的值,因此可以将它们视为语句和表达式。”

技术上是什么意思?什么不是技术? 如果

a = (b = 1);

我们知道的:

a = (b = 1); 

是声明。

(b = 1) 

是一个表达式。

问题 1:

是 a = (b = 1); 也是表情? 或者它只是一个表达式,这样写 一 = (乙 = 1) 没有分号并在另一个语句或表达式中使用?

问题 2:

是 (b = 1) 也是一个声明(假设它是一个任务)?或者每个语句必须以 ; 结尾?

问题三

b是一个表达式吗 (b = 1) 或者它只是一个变量?

1是一个表达式在 (b = 1) 或者它只是一个文字?

是一个表达式 一 = (乙 = 1) 或者它只是一个变量?

关于第 3 季度的一些说明:

我想当文字和变量单独存在时可以是表达式。例如在语句中:

a = 1;

1 是一个表达式。

但是对于示例语句的 1 个内部表达式是否也是如此:

a = (b = 1); 

表达式是任何可以计算为值的东西,因此 a = (b = 1) 是一个表达式(它是一个 assignment expression,其中右侧操作数是另一个赋值表达式)。

代码a = (b = 1);是一条语句;注意它末尾的分号 ; 。具体来说,就是一个expression statement。表达式语句是通过编写一个表达式后跟一个分号而形成的语句。 (并非所有类型的表达式都允许作为表达式语句,例如 1 + 1; 不是有效语句。)

所以严格来说,分号使两段代码不同。但是,如果我们不正式,那么我们可以说 a = (b = 1) 可以写成表达式或语句。

要回答关于什么是或不是语句或表达式的其他问题,我建议查看 Java 语言规范: