美文网首页
Java基本数据类型

Java基本数据类型

作者: RexHuang | 来源:发表于2018-09-01 12:33 被阅读0次

开篇

每一篇文章的开头,必定带有作者的瞎吹。所以我也来瞎吹一下。第一个必背的文章,也是我总是不花心思去记的内容。真惭愧!

必背篇1:

虽然截至目前为止已经出到了Java10,但该文章是基于Java8的,请注意版本的不同。
Java语言基本数据类型(Primitive Data Types):
Java语言是静态类型的,这意味着要先声明变量才能使用。如:

int  gear = 1;

这样做会告诉程序一个名为“gear”的字段存在,保存数字数据,初始值为“1”。变量的数据类型确定它可能包含的值,以及可能对其执行的操作。

Java编程语言支持的八种原始数据类型:六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

  • byte
    byte数据类型是8位有符号二进制补码整数。它的最小值为-128,最大值为127。byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一。

  • short
    short数据类型是16位有符号二进制补码整数。它的最小值为-32768,最大值为32767。Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;

  • int
    int数据类型是32位有符号二进制补码整数。它的最小值为(-231),最大值为(231-1)。一般地整型变量默认为 int 类型;在Java SE 8及更高版本中,可以使用int数据类型用作无符号整数。像静态方法compareUnsigneddivideUnsigned等已被添加到 Integer类,以支持算术运算的无符号整数。

  • long
    long数据类型是64位二进制补码整数.它的最小值为(-263),最大值为(263-1).但你需要使用数字取值范围比int更宽的数值时,使用long代替int.在Java SE 8及更高版本中,您可以使用long数据类型来表示无符号的64位长。本 Long类也包含类似的方法compareUnsigneddivideUnsigned等支持算术运算unsigned long类型。

  • float
    float数据类型是单精度32位IEEE 754浮点数。其值范围在Java语言规范的浮点类型,格式和值部分中制定,正如byte和short,使用float来代替double可以用于节省内存空间。但是float不能用来表示精确的值,如货币。

  • double
    double数据类型是双精度64位IEEE 754浮点数。其值范围在Java语言规范的浮点类型,格式和值部分中制定。浮点数的默认类型为double类型;double类型同样不能表示精确的值,如货币。

  • boolean
    boolean数据类型只有两个可能的值:true和false。此数据类型用于判断真假条件的简单标志。

  • char
    char数据类型是单个16位Unicode字符。它的最小值为‘\u0000’(或0),最大值为'\uffff'(或65535)。char 数据类型可以储存任何字符。

除了上述八种原始数据类型之外,Java编程语言还通过java.lang.String类为字符串提供特殊支持.将字符串括在双引号内将自动创建一个String对象;例如String s = "this is a string";。String对象是不可变的,这意味着一旦创建,他们的值就无法更改。

默认值

声明一个变量不一定要进行赋值。声明一个并未进行初始化的字段将由编译器为其设置默认值。一般来说默认值是多少取决于数据的类型。但是强烈建议声明之后一定要进行初始化。

数据类型 默认值
byte 0
short 0
int 0
long 0
float 0.0F
double 0.0D
boolean false
char '\u0000'
String null

float和double区别

最后来讲下float和double的区别.在Java的文档中并没有很详细的说明.但根据IEEE 754标准
float数据类型是1位符号位(0为正,1为负),8位指数位,剩下的23位为有效数字位。
double数据类型是1位符号位(0为正,1为负),11位指数位,剩下的52位为有效数字位。
留下两个个讲的很好的链接:
Java类型的double、float,你真的明白吗?
Java中float/double取值范围与精度

参考资料:

  1. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
  2. http://www.runoob.com/java/java-basic-datatypes.html

相关文章

网友评论

      本文标题:Java基本数据类型

      本文链接:https://www.haomeiwen.com/subject/ispywftx.html