Java中的数据类型长度是多少

时间:2017-04-24 10:31:05

标签: java type-conversion abstract-data-type

嗨朋友们我想知道Java中的所有数据类型及其总长度(MAX和MIN) 例如 长-9,223,372,036,854,775,808至+9,223,372,036,854,775,807 你能不能帮我朋友们。

4 个答案:

答案 0 :(得分:1)

正如您所见here
如果您使用无符号类型,则只计算
ans = (2 power number_of_bits) - 1
 否则计算为ans = (2 power number_of_bits - 1)
,范围为[-ans,ans-1]
祝你有个美好的一天:)

答案 1 :(得分:1)

查看此链接,它是oracle的官方文档,详细说明。

Source Link - Oracle Documentation

快速参考,引用文档中的要点。

字节

字节数据类型是8位带符号的二进制补码整数。它的最小值为-128,最大值为127 (含)。字节数据类型可用于在大型阵列中保存内存,其中节省的内存实际上很重要。它们也可用于代替int,其限制有助于澄清您的代码;变量范围有限这一事实可以作为一种文档形式。

<强>短

短数据类型是16位带符号的二进制补码整数。它的最小值为-32,768,最大值为32,767 (含)。与字节一样,相同的准则也适用:在内存节省实际上很重要的情况下,您可以使用short来节省大型阵列中的内存。

<强> INT

默认情况下,int数据类型是32位带符号的二进制补码整数,其最小值为-231,最大值为231-1 。在Java SE 8及更高版本中,您可以使用int数据类型来表示无符号的32位整数,其最小值为0,最大值为232-1。使用Integer类将int数据类型用作无符号整数。有关更多信息,请参阅数字类一节。已经将诸如compareUnsigned,divideUnsigned等静态方法添加到Integer类中,以支持无符号整数的算术运算。

长数据类型是64位二进制补码整数。有符号长整数的最小值为-263,最大值为263-1 。在Java SE 8及更高版本中,您可以使用长数据类型来表示无符号的64位长,其最小值为0,最大值为264-1。当需要比int提供的值更宽的值时,请使用此数据类型。 Long类还包含compareUnsigned,divideUnsigned等方法,以支持unsigned long的算术运算。

浮动

浮点数据类型是单精度32位IEEE 754浮点。其值范围超出了本讨论的范围,但在Java语言规范的浮点类型,格式和值部分中指定。与byte和short的建议一样,如果需要在大型浮点数数组中保存内存,请使用float(而不是double)。绝不应将此数据类型用于精确值,例如货币。为此,您需要使用java.math.BigDecimal类。 Numbers和Strings涵盖了Java平台提供的BigDecimal和其他有用的类。

加倍

双数据类型是双精度64位IEEE 754浮点。其值范围超出了本讨论的范围,但在Java语言规范的浮点类型,格式和值部分中指定。对于十进制值,此数据类型通常是默认选择。如上所述,此数据类型不应用于精确值,例如货币。

布尔

布尔数据类型只有两个可能的值:true和false。将此数据类型用于跟踪真/假条件的简单标志。此数据类型代表一位信息,但其大小为&#34;大小&#34;不是精确定义的东西。

char

char数据类型是单个16位Unicode字符。它具有最小值&#39; \ u0000&#39; (或0)和&#39; \ uffff&#39; (或65,535(含))的最大值。

除了上面列出的八种原始数据类型之外,Java编程语言还通过java.lang.String类为字符串提供特殊支持。将字符串括在双引号内将自动创建一个新的String对象;例如,String s =&#34;这是一个字符串&#34; ;.字符串对象是不可变的,这意味着一旦创建,它们的值就不能更改。 String类在技术上不是原始数据类型,但考虑到语言给予它的特殊支持,您可能倾向于将其视为这样。您将在Simple Data Objects

中了解有关String类的更多信息

答案 2 :(得分:1)

我认为你可以通过以下链接找到所有信息:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

  • byte:字节数据类型是8位有符号二进制补码整数。 它的最小值为-128,最大值为127 (包括的)。字节数据类型可用于保存内存 大型阵列,节省内存实际上很重要。他们能 也可以用来代替int,其限制有助于澄清你的 码;变量范围有限的事实可以作为一种形式 文件。

  • short:短数据类型是16位带符号的二进制补码整数。它的最小值为-32,768,最大值为 32,767(含)。与字节一样,适用相同的准则:您可以 在大型数组中使用short来节省内存 记忆储蓄实际上很重要。

  • int:默认情况下,int数据类型是32位带符号的二进制补码整数,其最小值为-231且最大值为 值231-1。在Java SE 8及更高版本中,您可以使用int数据类型 表示无符号的32位整数,其最小值为 0和最大值232-1。使用Integer类来使用int数据 键入无符号整数。请参阅“数字类”一节 更多信息。静态方法,如compareUnsigned,divideUnsigned 等已添加到Integer类以支持算术 无符号整数的运算。

  • long:长数据类型是64位二进制补码整数。带符号的long的最小值为-263,最大值为 263-1。在Java SE 8及更高版本中,您可以使用长数据类型 表示无符号的64位长,其最小值为0和 最大值为264-1。需要一系列时,请使用此数据类型 值比int提供的值更宽。 Long类也包含 compareUnsigned,divideUnsigned等方法支持 无符号长的算术运算。

  • float:float数据类型是单精度32位IEEE 754浮点数。它的价值范围超出了这个范围 讨论,但在浮点类型,格式, Java语言规范的值和值部分。和。一样 建议字节和短,使用浮点(而不是双) 如果你需要在大型浮点数中保存内存。 绝不应将此数据类型用于精确值,例如 货币。为此,您需要使用java.math.BigDecimal 而是改为。数字和字符串涵盖了BigDecimal和其他有用的东西 Java平台提供的类。

  • double:double数据类型是双精度64位IEEE 754浮点。它的价值范围超出了这个范围 讨论,但在浮点类型,格式, Java语言规范的值和值部分。对于小数 值,这种数据类型通常是默认选择。如上所述 以上,此数据类型不应用于精确值,例如 作为货币。

  • boolean:布尔数据类型只有两个可能的值:true和false。将此数据类型用于跟踪true / false的简单标志 条件。此数据类型代表一位信息,但它的信息 “尺寸”不是精确定义的东西。

  • char:char数据类型是一个16位Unicode字符。它的最小值为'\ u0000'(或0),最大值为 '\ uffff'(或65,535(含))。

答案 3 :(得分:0)

如果需要在运行时访问最小/最大值,则大多数包装类都具有静态最终MIN_VALUE和MAX_VALUE常量:

    System.out.println("Float min value : " + Float.MIN_VALUE + ", max value :" + Float.MAX_VALUE);
    System.out.println("Integer min value : " + Integer.MIN_VALUE + ", max value :" + Integer.MAX_VALUE);
    System.out.println("Double min value : " + Double.MIN_VALUE + ", max value :" + Double.MAX_VALUE);
    System.out.println("Byte min value : " + Byte.MIN_VALUE + ", max value :" + Byte.MAX_VALUE);
    System.out.println("Long min value : " + Long.MIN_VALUE + ", max value :" + Long.MAX_VALUE);
    System.out.println("Short min value : " + Short.MIN_VALUE + ", max value :" + Short.MAX_VALUE);