Java 中的基本数据类型

来源:互联网 发布:vue.js offsetwidth 编辑:程序博客网 时间:2024/05/18 19:19

在Java 中有8中基本数据类型,来存储数值、字符和布尔值


byte:取值范围:(-2^7~2^7-1)

使用byte关键字来定义byte型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。byte型是整型中所分配的内存空间是最少的,只分配1个字节(8位);取值范围也是最小的,只在-128和127之间,在使用时一定要注意,以免数据溢出产生错误

short:取值范围:(-2^15~2^15-1)

short型即短整型,使用short关键字来定义short型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。系统给short型分配2个字节16位)的内存,取值范围也比byte型大了很多,在-32768和32767之间,虽然取值范围变大,但是还是要注意数据溢出。

int:取值范围:(-2^31~2^31-1)(正数取值:21亿4千多万)

int型即整型,使用int关键字来定义int型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。系统给int型分配4个字节32位)的内存,int型变量取值范围很大,在-2147483648和2147483647之间,足够一般情况下使用,所以是整型变量中应用最广泛的。

long:取值范围:(-2^63~2^63-1)

long型即长整型,使用long关键字来定义long型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。系统给long型分配8个字节64位)的内存,而在对long型变量赋值时结尾必须加上“L”或者“l”,否则将不被认为是long型。当数值过大,超出int型范围的时候就使用long型,系统分配给long型变量8个字节,取值范围则更大,在-9223372036854775808和9223372036854775807之间。

那么问题来了:如果超出了long类型怎么办:

for  example: 两个long 的最大值相加

可以考虑用类库:BigInteger 来装载,BigInteger 默认无限大(- 无穷~+无穷)

float:取值范围:1.4E-45~3.4028235E38)占4个字节32 位

float型即单精度浮点型,使用float关键字来定义float型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。在对float型进行赋值的时候在结尾必须添加“F”或者“f”,如果不加,系统自动将其定义为double型变量。float型变量的取值范围在1.4E-45和3.4028235E38之间。其中E-45 表示10^(-45)次幂

double:取值范围:4.9E-324和1.7976931348623157E308)占8个字节64位

double型即双精度浮点型,使用double关键字来定义double型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。在给double型赋值时,可以使用后缀“D”或“d”明确表明这是一个double类型数据,但加不加并没有硬性规定,可以加也可以不加。double型变量的取值范围在4.9E-324和1.7976931348623157E-308之间。

char:取值范围:(-2^15~2^15-1)

char型既字符类型,使用char关键字进行声明,用于存储单个字符(单个汉字),系统分配两个字节的内存空间。在定义字符型变量时,要用单引号括起来,例如‘s’表示一个字符,而“s”则表示一个字符串,且单引号中只能有一个字符,多了就不是字符类型了,而是字符串类型,需要用双引号进行声明。

同C和C++语言一样,Java语言可以把字符作为整数对待。由于 Unicode编码采用无符号编码,可以存储65535个字符(0x0000~0xffff)

char x=97;//等价于 char x='a';即小写字母a对应的unicode 编码为97

char  x2=65;//等价于 char x2='A';即小写字母A对应的unicode 编码为65


boolean:取值范围:占1位:1bit:最小

布尔类型又称逻辑类型,只有两个值“true”和“false”,分别代表布尔逻辑中的“真”和“假”。使用boolean关键字声明布尔类型变量,通常被用在流程控制中作为判断条件。