表达式也可以是文字?

时间:2015-04-09 10:02:48

标签: java terminology

我正在查看我的笔记,当评估得到5时,它有整数5作为表达式。

我的笔记中表达的定义:

  

表达式是java代码,在评估时产生值

但是我看到了文字的定义:

  

Literal是固定值的源代码表示;文字直接在代码中表示,无需计算

那么整数5也不会被归类为文字吗? 这里有什么问题,或者表达式也可能是文字吗?

3 个答案:

答案 0 :(得分:3)

int i;
i = 5

是一个表达式,5的{​​{1}}值为i,而5是一个字面值,因此会导致整数5

答案 1 :(得分:3)

5是契约的文字,文字是表达的特例。

来自Java Specification Section 15.2

  

表达式可大致分为以下之一   句法形式:

[...]

Primary expressions (§15.8 - §15.13)

[...]

Section 15.8中:文字被列为主要表达形式的一种形式。

答案 2 :(得分:1)

int literal是一个表达式。更普遍的是文字是一种表达。

要确信您可以一瞥解析语言的jdk源代码(在langtools中):

package com.sun.source.tree;    
public interface LiteralTree extends ExpressionTree {...