八大数据类型:
1、byte(位),最大存储数据量是255;
2、short(短整数),最大数据存储量是65536;
3、int(整数),最大数据存储容量是2的32次方减1;
4、long(长整数),最大数据存储容量是2的64次方减1;
5、float(单精度浮动数),直接赋值时必须在数字后加上f或f;
6、double(双精度);
7、boolean(布尔类型);
8、char(字符);
简单类型 | boolean | byte | char | short | Int | long | float | double | void |
二进制位数 | 1 | 8 | 16 | 16 | 32 | 64 | 32 | 64 | -- |
封装器类 | Boolean | Byte | Character | Short | Integer | Long | Float | Double | Void |
一、分类
1、整型
整型是Java中最基本的数据类型之一。它可以用来存储整数值,包括正数、负数和0。Java中的整型有四种类型:byte、short、int和long。
byte
:占用1个字节,范围从-128到127。short
:占用2个字节,范围从-32,768到32,767。int
:占用4个字节,范围从-2,147,483,648到2,147,483,647。long
:占用8个字节,范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
public static void main(String[] args) {
byte myByte = 100;
short myShort = 5000;
int myInt = 1000000;
long myLong = 15000000000L; //注意:long型数据需要加“L”后缀
System.out.println("Byte Value: " + myByte);
System.out.println("Short Value: " + myShort);
System.out.println("Int Value: " + myInt);
System.out.println("Long Value: " + myLong);
}
2、浮点型
浮点型是Java中用来存储小数的数据类型。Java中的浮点型有两种类型:float和double。
float
:占用4个字节,可以存储大约6~7位有效数字。double
:占用8个字节,可以存储大约15位有效数字。
public static void main(String[] args) {
float myFloat = 3.14f; //注意:float型数据需要加“f”后缀
double myDouble = 3.1415926;
System.out.println("Float Value: " + myFloat);
System.out.println("Double Value: " + myDouble);
}
3、字符型
字符型是Java中用来存储字符的数据类型。在Java中,字符型使用单引号
' '
表示,只能存储一个字符。
public static void main(String[] args) {
char myChar = 'A';
System.out.println("Char Value: " + myChar);
}
4、布尔类型
布尔型是Java中用来存储逻辑值的数据类型,只能存储
true
或者false
两种状态。
public static void main(String[] args) {
boolean t = true;
boolean f = false;
System.out.println("Boolean Value true: " + t);
System.out.println("Boolean Value false: " + f);
}
二、类型转换
八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型直接都可以进行转换
如果整数型字面量没有超出 byte, short, char 的取值范围,可以直接将其赋值给 byte, short, char 类型的变量;
byte, short, char 类型混合运算时,先各自转换成 int 类型再做运算;
多种数据类型混合运算,各自先转换成容量最大的那一种再做运算。
多种数据类型做混合运算的时候,最终的结果类型是“最大容量”的对应的类型。
char, shor, byte 这个除外。
因为 char + short + byte 混合运算的时候,会各自先转换成 int 再做运算。
1.自动类型转换
自动类型转换(隐式类型转换)发生在从小范围类型向大范围类型转换时,规则如下:
byte 自动转换为:short、int、long、float、double
short 自动转换为:int、long、float、double
char 自动转换为:int、long、float、double
int 自动转换为:long、float、double
long 自动转换为:float、double
float 自动转换为:double
2.强制类型转换
从大类型到小类型,需要强制转换符实现强制转换
byte < short(char) < int < long < float < double