回答
看看在official documentation:System.out.println
可以接受很多的参数,因为你传递-1
和这有int
类型,然后叫你的情况的方法是public void println(int x)
。
虽然在幕后,但-1
根据平台的默认字符编码转换为String
然后转换为字节表示形式,然后发送到控制台。
如果按照documentation,你会发现:
公共无效的println(INT X)
打印整数,然后终止该行。此方法表现得好像调用了
print(int)
,然后是println()
。
然后print(int)
文档说:
通过
String.valueOf(int
生成的字符串)根据平台的默认字符编码翻译成字节,这些字节被写入到write(int)
方法完全相同的方式进行。
因此它将整数转换为一个字符串,然后将其转换为字节并打印出来。
Java是否将-1视为整数或字符串?
都没有。 -1
是一个原始的int
文字。
为什么-1
是原始的int文字?
INT:默认情况下,int数据类型是一个32位有符号的二进制补码整数,其具有-2 最小值和2 -1的最大值。
另外:
整数常量可通过这些号码系统中表达:
- 十进制:基座10,其通过数字9由数字0的;这是您每天使用的号码系统
- 十六进制:基数16,其数字由数字0到9和字母A到F
- 二进制:基数2,其数字由数字0和1组成您可以创建在Java SE 7二进制文字及更高版本)
为什么-1是一个原语会更好一点,只是为了表明它仅限于一小部分数字。 (以消除混淆是否是否定的,或所有的数字......) –
你的编辑更好:)现在我更喜欢这个答案了。 –
其实是technical-它既不。整数特定于java中的Integer对象(如ArrayList<Integer>
)Integer对象与int不同。 您的打印语句将参数视为int。
ArrayList<Integer> integers = new ArrayList<Integer>();
integers.add(FooIntegerObject);
System.out.print(-1); //is an int
System.out.print("-1"); //is a String
System.out.print(integers(0).toString()); //is an Integer
- 1. 如何检查输入是整数,字符串还是float C++
- 2. 的System.out.println输出字符串是System.out.print却没有
- 3. 检查字符串中的字符是1还是0
- 4. 检查字符串是整数还是浮点数
- 5. 如何检查给定的输入是字符串还是整数?
- 6. 如何找出字符串中的字符是否是整数
- 7. scanf()如何检查输入是整数还是字符?
- 8. 电话号码应该是一个字符串还是整数?
- 9. 如何在JAVA中检查输入是整数还是字符串等?
- 10. 确定输入是数字还是字符串,然后将其打印回来
- 11. 如何知道用户给出的输入是C编程中的字符串还是浮点数或整数
- 12. PHP 1是一个字符串不是整数
- 13. 核心数据检测字符串还是整数?
- 14. 程序如何检测字符串是数字还是字符?
- 15. 格式化整数字符串输出
- 16. 确定字符串是ANSI中的整数还是浮点数C
- 17. 数字输入字符串不是整数在反应
- 18. Java中的字符是1个字节还是2个字节?
- 19. 检查varible是字符串还是int
- 20. 检查一个字符是整数还是字母
- 21. 将字符串列表转换为整数,但输出是拆分数字而不是
- 22. 单独输出字符串中的整数,然后输出
- 23. Ruby:将字符串中的所有整数加1 +1
- 24. REST样式API调用的输出中的状态字段应该是数字代码还是字符串?
- 25. 如何将字符串的命令输出转换为整数?
- 26. 将字符串转换为整数,当输入是不是顺序
- 27. 关联数组:将其保存为数组还是字符串?
- 28. mysql_real_escape_string()预计参数1是字符串
- 29. OutputDebugString输出“??????”而不是字符串
- 30. 我应该使用System.out.println()还是别的?
为什么会是一个字符串? – SLaks
一个整数。当然。 –
当您调用['println(int)'](https://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#println(int))时,它是一个整数。它被转换为一个字符串以便打印出来。 – khelwood