Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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 在System.out.print()中打印的常量的默认数据类型;_Java - Fatal编程技术网

Java 在System.out.print()中打印的常量的默认数据类型;

Java 在System.out.print()中打印的常量的默认数据类型;,java,Java,我知道2147483647是整数数据类型的最大值。我的问题是,为什么这个结果是针对整数类型计算的,为什么不考虑Long或double 因为 System.out.println(2147483647 + 1); //prints -2147483648 在这里,为什么字节数据类型不考虑127,导致结果为-128?基本上,您似乎不完全理解。没有小数点或后缀的数字总是int,无论其大小。当分配给较大的基本数据类型时(例如,int可能隐式扩展为long),这可能会进一步复杂化 现在我们知道你的两个文

我知道2147483647是整数数据类型的最大值。我的问题是,为什么这个结果是针对整数类型计算的,为什么不考虑Long或double

因为

System.out.println(2147483647 + 1); //prints -2147483648

在这里,为什么字节数据类型不考虑127,导致结果为-128?

基本上,您似乎不完全理解。没有小数点或后缀的数字总是
int
,无论其大小。当分配给较大的基本数据类型时(例如,
int
可能隐式扩展为
long
),这可能会进一步复杂化

现在我们知道你的两个文本是
int
s
int
+
int
始终是
int
。结果是否溢出无关紧要


如果您知道或怀疑常数将超出
int
的范围,请添加后缀
L
(即
2147483647L
1L
)以明确声明这些是长的
long
+
long
=
long
,因此在这种情况下结果不会溢出。

基本上,您似乎没有完全理解。没有小数点或后缀的数字总是
int
,无论其大小。当分配给较大的基本数据类型时(例如,
int
可能隐式扩展为
long
),这可能会进一步复杂化

现在我们知道你的两个文本是
int
s
int
+
int
始终是
int
。结果是否溢出无关紧要


如果您知道或怀疑常数将超出
int
的范围,请添加后缀
L
(即
2147483647L
1L
)以明确声明这些是长的
long
+
long
=
long
,因此在这种情况下结果不会溢出。

println由多个输入重载,您的参数为int类型,因此将调用方法

System.out.println(127+1);  //prints 128

println由多个输入重载,您的参数类型为int,因此将调用方法

System.out.println(127+1);  //prints 128

默认情况下,java sorce代码中的每个数字都是整数。如果你想有一个像long这样的其他类型,你需要用一个“L”(例如23409L)来扩展你的号码,或者你必须转换它。只有在从变量初始化时,编译器才会为您进行转换

在许多情况下,您还可以为方法指定byte或short,即使它们请求整数参数。但这只适用于java的转换和升级机制

由于所有这些功能,一些程序员在代码的某一点上搞乱了实际的数据类型

有关更多信息,请访问oracle文档:
默认情况下,java sorce代码中的每个数字都是整数。如果你想有一个像long这样的其他类型,你需要用一个“L”(例如23409L)来扩展你的号码,或者你必须转换它。只有在从变量初始化时,编译器才会为您进行转换

在许多情况下,您还可以为方法指定byte或short,即使它们请求整数参数。但这只适用于java的转换和升级机制

由于所有这些功能,一些程序员在代码的某一点上搞乱了实际的数据类型

有关更多信息,请访问oracle文档: