Java中的数字文字

qui*_*ykd 0 java literals

何时赋值不是整数文字.我理解的int a = 5;是,但int a = b + c;也是一个整数字面值.谢谢你的帮助.

Ste*_*n C 5

何时赋值不是整数文字.

作业永远不是文字.

我明白的int a = 5;是

实际上,事实并非如此.文字是5.

整个批次是一个声明,右边的东西=是一个表达式(在这种情况下只是文字).

(从技术上讲,int a = 5;这不是一项任务......虽然它肯定包括初始化形式的"任务".)

但int a = b + c;也可以是整数字面量.

不,不是.

再一次,这是一个声明,而右边的东西=是一个表达式.但在这种情况下,表达式不是文字,甚至不涉及文字.

文字是一个表示单个确定值的句法元素.这里有些例子:

  • 5 - 整数文字
  • 5.0 - 双字面
  • 'X' - 一个字符文字
  • "Hi mum" - 字符串文字
  • false - 布尔文字
  • String.class - 一个文字

相比之下b和c是变量的名字,这可能包含不同的价值观......在程序执行的不同点.变量名称不是文字.