java数据类型概述
在java语言中有四类八种基本类型分别是:
- 整型:long、int、short、byte
- 浮点型:double、float
- char
- boolean(布尔类型)
整型
整型表示是没有小数部分的数值。在java中有定义了四种整型常量,他们表示范围从小到大分别是:
- 长整型long:占8个字节
- 整型int:占4个字节
- 短整型short:占2个字节
- byte:占1个字节
类型 | 存储需求 | 取值范围 |
---|---|---|
long | 8字节 | -9223372036854775808 ~ 9223372036854775807 |
short | 2字节 | -32768 ~ 32767 |
byte | 1字节 | -128-127 |
在java中整数类型与c语言中有几个不同点
- 第一个不同点是,在Java语言中支持在为数值字面量加下划线,方便阅读,比如:
1
System.out.println(1000_000_000);//将输出为1000000000
- Java中每个类型所占的字节大小不会随着运行系统的变化而变化。这主要要是为了满足Java的设计目标:一处编译、处处运行。
- 第二个不同点,也是重要的不同点是,在Java语言中不支持无符号(unsigned)类型的整型,在Java中如果要表示一个无符号类型的数字将会是一个比较麻烦的事情(一般是通过升级类型,比如将byte类型升级为int类型,将int类型转换为long类型或者通过位运算)。
关于unsigned类型在以后遇到再进行详细讨论
浮点类型
所谓的浮点类型就是可以表示小数部分的数值,在Java中有两种浮点类型:
|类型|存储需求|取值范围|
|:-:|:-:|:-:|
|float|4字节|大约为+-3.40282347E+38F(有效位数为6~7位)|
|double|8字节|大约1.79769313486231570E+308(有效位数为15位)|
double表示的这种数值精度是float类型的两倍,所以一般称float类型为单精度浮点类型,double类型为双精度浮点类型。一般情况下小数默认为double类型。可以在小数数值后面加上一个f或者F将该数值表示为float类型。double类型可以在小数数值后面添加d或者D表示(也可以不加,直接默认)。
char类型
char类型表示的是一个在字符,占两个字节,其的字面量值是用一个单引号引起来的一个字符,如’a’,但是不能用单引号引两个或以上的字符,如:’ab’,如果需要引两个或以上的字符这需要用一对双引号,这样表示的将会是字符串。
在Java中char类型是一个采用UTF-16编码表示Unicode码点的代码单元,这样做的原因是不同的编码方案下可能对应着不同的字母,且有些字母短一个字节就可以表示,但是有写字节表示比较长需要两个字节或多个字节,于是java设计者为了避免这样的事情发生(Java的设计思想是不管程序在哪运行,运行的结果都要一样),在初期效果确实达到了,但是随着中国等国家的表意文字的出现,这种设计也随之崩溃。于是乎,这种设计使得Java中的char类型并不是一个“称职”的类型,比如在字符串的一些操作中很容易产生错误,所以现在都强烈建议不要在java中使用char类型
boolean类型
Boolean(布尔)类型只有两个值:false以及true,用来判断逻辑条件。这里需要注意的是在java中整形和布尔值之间不能进行相互交换,在c语言中false可以用0来表示,true可以用1来表示,但是在Java中却不可以这样表示。
本文链接: https://quandongli.github.io/post/2f86de21.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
