Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java文本真的是常量吗?_Java - Fatal编程技术网

Java文本真的是常量吗?

Java文本真的是常量吗?,java,Java,我看到/听到人们谈论文字是常量,但它们真的是常量吗 我认为final是一个常数: final constantNumber = 10; 例如,在下面的文字中,我可以更改值 int testNumber = 10; System.out.println(testNumber); testNumber = 20; System.out.println(testNumber); 在你的例子中 int testNumber = 10; 10是文本,而不是testNumber。是的,它是一个常量。

我看到/听到人们谈论文字是常量,但它们真的是常量吗

我认为final是一个常数:

 final constantNumber = 10;
例如,在下面的文字中,我可以更改值

int testNumber = 10;
System.out.println(testNumber);
testNumber = 20;
System.out.println(testNumber);
在你的例子中

int testNumber = 10;

10
是文本,而不是
testNumber
。是的,它是一个常量。

是的,这些文字是常量

literal是一种表示源代码中固定值的符号。
与文字不同的是,变量或常量是符号,可以采用一类固定值中的一个,常量被限制为不改变。文本通常用于初始化变量

例如,在下面的示例中,1是一个文本,
“cat”
中的三个字母字符串是一个文本:

 int a = 1;
 String s = "cat";

这里,
1
是文本,其中as
a
是变量。

文本
“SomeString”
不能更改。从这个意义上说,它是一个常量。在您的示例中,为什么不使用
final constantNumber=10?看起来像一个斯特劳曼参数或一个非sequiturt在这种情况下,
文本数将同时为10和20。您只是在更改变量的值。如果文本不是常量,您可以为
10
指定不同的值。值“10”不能更改,它是“10”。您已更改变量的值。感谢您的回复。当然,10仍然是10,如果我把变量值改为20,变量之前持有的数字10仍然是10,10仍然是10,但是说明这一点有什么意义呢?我觉得我的理解中一定遗漏了一些至关重要的东西。这就是它的全部内容吗?@Xerphiel你可能听说过或读过有人提到文字在Java中是常量,因为这在每种编程语言中并不总是如此。根据这个定义,“文字”不是“常量”,因为常量是“可以接受一类固定值的符号”,而文字是一个符号“固定价值”。