5 * 5是文字还是只是表达?

时间:2015-09-04 06:10:33

标签: java constants literals

我知道,例如'5'char类型的字面值,但5 * 5是字面值?这是表达式,但它具有固定值。

4 个答案:

答案 0 :(得分:12)

Java Language Specification §15.28中所述,它是一个特殊的表达式,称为"编译时常量表达式"。它不是文字。

答案 1 :(得分:1)

我认为你不能把它称为字面意思。一些编译器可能会以与处理文字相同的方式对待它,请参阅有关您使用的语言的注释。

答案 2 :(得分:1)

“Literal”是一个语法术语,不是语义术语。它是表示常量值的基本构建块。

尽管规范5 * 525的含义完全相同,但语法上第一个是涉及两个文字和一个运算符的二进制表达式,第二个只是一个文字。

答案 3 :(得分:0)

我不确定,但是这些术语不是那样的吗?

  • 使用某个值来准确定义变量" in的值 直道"它应该被称为"字面"
      

    var num =5; var stringLabel = "someText";等。

  • 当你使用一些配方或处方时,它应该被称为"表达"
      

    var result = 5*5; var res2 = a*x;

但当然 - 在结果中也是常数,它实际上也可以是字面的。

至少如何得到它......

它只是关于术语 - 在java中也有方法," C语言"功能等等 - 在含义上它也是相同的东西,所以它完全取决于你能忍受的限制:D