开篇
每一篇文章的开头,必定带有作者的瞎吹。所以我也来瞎吹一下。第一个必背的文章,也是我总是不花心思去记的内容。真惭愧!
必背篇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数据类型用作无符号整数。像静态方法compareUnsigned
,divideUnsigned
等已被添加到Integer
类,以支持算术运算的无符号整数。 -
long
long数据类型是64位二进制补码整数.它的最小值为(-263),最大值为(263-1).但你需要使用数字取值范围比int更宽的数值时,使用long代替int.在Java SE 8及更高版本中,您可以使用long数据类型来表示无符号的64位长。本Long
类也包含类似的方法compareUnsigned
,divideUnsigned
等支持算术运算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取值范围与精度
参考资料:
网友评论