我想打印我的 int[]
以特定格式(在每个数字之间的 space
内等)
但是我发现 Java 不会打印单引号中的空格,它甚至会更改我在 int[]
中的数字. bracket
也发生了同样的事情特点。
例如:
int[] test = {1,2,3,4,5};
System.out.println('(' + test[0]+ ' ' +test[1] + ' ' + test[2] + ' '
+test[3] + ' ' + test[4] + ')');
//224
System.out.println("(" + test[0]+ " " +test[1] + " " + test[2] + " "
+test[3] + " " + test[4] + ")");
//(1 2 3 4 5)
我认为space
和 bracket
是字符,我想知道为什么我需要使用 double quotes
正确打印它们以及为什么 single quotes
与 space
字符会改变输出?
谢谢!
最佳答案
带撇号的引号是 char
文字。 char
是一个数字基元,可以添加到其他数字基元,如 int
。
+
运算符也被重载以实现字符串连接。如果运算符的任一侧是 String
,则 +
运算符是字符串连接运算符,否则它是数字加运算符。
所以,'A' + 5
表示字符A
的数值加5,而"A"+ 5
表示拼接字符串 A
与数字 5
的字符串表示。
在您的情况下,将第一个字符更改为 String
文字就足够了。所有剩余的 +
运算符将成为字符串连接运算符:
System.out.println("(" + test[0] + ' ' + test[1] + ' ' + test[2] + ' '
+ test[3] + ' ' + test[4] + ')');
//(1 2 3 4 5)
关于java - 在 Java 中的 int 数组中使用单引号打印空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34823224/