[英]Clarification about expressions in Java
基于此文档:它说示例 cadence = 0 是一个表达式,它是 int cadence = 0 中的粗体部分;
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html
怎么不是整个语句 int cadence = 0; 一种表达? 整个初始化不会算作一个表达式吗? 当时我就是这么认为的,并在课堂上讲过。
另外,"value1 == value2" 语句 System.out.println("value1 == value2"); 中的表达式如何? 是因为我们正在评估一个新的 String 文字到一个 String 值吗? 这是否意味着单独的文字,例如 5, 4.5, false 是 Java 中的表达式? 在这种情况下,单独的字符串文字被视为表达式。
表达式( JLS §15 )是一些可以计算并产生值的代码。 值得注意的表达是(不完整的列表) :
42
和"Hello World"
primeNumber
和person.name
arr[3]
6 * 7
、 a <= 12
、 i++
、 i = 3
和! done
! done
add(4, 6)
和person.getName()
(仅限非空方法)new Person()
语句是一段可以在{ }
块( JLS §14.2 )内执行的代码,例如
if
和switch
(条件)for
、 while
和do-while
(循环)int i
和String greeting = "Hello"
(局部变量声明)return
、 break
和continue
try
并throw
一些表达式也可以用作语句,被称为“表达式语句” ( JLS §14.8 ):
i = 3
++i
、 i++
、 i--
和--i
foo.setNum(13)
(包括 void 方法)new Person()
怎么不是整个语句
int cadence = 0;
一种表达?
它是一个局部变量声明语句,带有初始化程序。 只有初始值设定项,即=
符号和;
之间的部分;
, 是一个表达式。
这与cadence = 0
不同,后者是赋值运算符表达式,需要成为更大语句的一部分。
两者都不同于cadence = 0;
(注意分号) ,这是一个赋值表达式语句。
"value1 == value2"
语句System.out.println("value1 == value2");
的表达式如何System.out.println("value1 == value2");
? 是因为我们正在评估一个新的 String 文字到一个 String 值吗? 这是否意味着单独的文字,例如5
,4.5
,false
是 Java 中的表达式? 在这种情况下,单独的字符串文字被视为表达式。
正确,像5
、 4.5
、 false
和"Hello"
这样的文字都是表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.