基于这个文档:它说示例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”)中表达的;?这是因为我们正在计算一个新的字符串文本到一个字符串值吗?这是否意味着一个单独的文本,比如5,4.5,false是java中的一个表达式?在这种情况下,仅字符串文本被视为表达式。
1条答案
按热度按时间ukqbszuj1#
表达式(jls)§15) 是一些可以计算并产生值的代码。值得注意的表达方式有(不完整列表):
文字,例如。
42
以及"Hello World"
变量,例如。primeNumber
以及person.name
阵列访问,例如。arr[3]
操作员,例如。6 * 7
,a <= 12
,i++
,i = 3
,和! done
方法调用,例如。add(4, 6)
以及person.getName()
(仅限非void方法)示例创建,例如。
new Person()
语句是可以在{ }
块(jls§14.2),例如。if
以及switch
(条件句)for
,while
,和do-while
(循环)int i
以及String greeting = "Hello"
(局部变量声明)return
,break
,和continue
try
以及throw
有些表达式也可用作语句,称为“表达式语句”(expression statements,jls)§14.8):任务,例如。
i = 3
前/后增量/减量,例如。++i
,i++
,i--
,和--i
方法调用,例如。foo.setNum(13)
(包括无效方法)示例创建,例如。
new Person()
怎么不是整个声明int cadence = 0;
一个表情?它是一个局部变量声明语句,带有初始值设定项。只有初始值设定项,即
=
标志和;
,是一个表达式。这与
cadence = 0
,它是赋值运算符表达式,需要是较大语句的一部分。两者都不同于
cadence = 0;
(注意分号),这是一个赋值表达式语句。怎么样
"value1 == value2"
语句中的表达式System.out.println("value1 == value2");
? 这是因为我们正在计算一个新的字符串文本到一个字符串值吗?这仅仅是一个字面意思吗5
,4.5
,false
是java中的表达式吗?在这种情况下,仅字符串文本被视为表达式。正确,像这样的文字
5
,4.5
,false
,和"Hello"
都是表情。