1.基本数据类型分为四类八种,四类:整型、浮点型、字符型、布尔型;
八种:字节型、短整型、整型、长整型、单精度浮点数、双精度浮点数、字符型、布尔型。
2.字节型范围
byte占用1字节内存,包装类型为Byte,范围为-2^7~(2^7)-1。
public class yunsuanfu {
public static void main(String[] args) {
byte a=2;
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
}
3.短整型范围
short占用2字节,包装类型为Short,范围为-2^15~(2^15)-1。
public class yunsuanfu {
public static void main(String[] args) {
short a=2;
System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
}
4.整型范围
int整型占4字节,包装类型为Integer,范围为-2^31~(2^31)-1。
public static void main(String[] args) {
int a;
a=10;
System.out.println(a);
System.out.println(Integer.MIN_VALUE);//int整型占据4个字节 -2^31
System.out.println(Integer.MAX_VALUE);// 2^31-1
}
5. 长整型范围
long占8字节,包装类型为Long,范围为-2^63~(2^63)-1。
public static void main(String[] args) {
int a=10;
long b=100L;
long c=100l;
System.out.println(b);
System.out.println(Long.MIN_VALUE);//long占据8字节 -2^63
System.out.println(Long.MAX_VALUE);//2^63-1
}
6.单精度浮点数范围
float占4字节,包装类型为Float。
public class yunsuanfu {
public static void main(String[] args) {
float a=0;
System.out.println(a);
System.out.println(Float.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
}
7.双精度浮点数范围
double占8字节,包装类型为Double。
public class yunsuanfu {
public static void main(String[] args) {
double a=3.14;
System.out.println(a);
System.out.println(Double.MIN_VALUE);
System.out.println(Double.MAX_VALUE);
}
8. 字符型
char占2字节,包装类型为Character,范围为0~65535
9.布尔类型(boolean),内存占用未指明,范围为true和false。
10.类型转换
分为两类:自动类型转换和强制类型转换
10.1 自动类型转换
即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。
例:int型数据比long范围进行,可以自动转换;而将long型数据直接赋值给int会出现报错。
public class yunsuanfu {
public static void main(String[] args) {
int a=10;
long b=100;
b=a;
//a=b;//出现报错
System.out.println(b);
}
10.2 强制类型转换
强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。
例:将long型数据强制转换成int,可以编译通过。
public class yunsuanfu {
public static void main(String[] args) {
int a=10;
long b=100;
a=(int)b;
b=a;
System.out.println(b);
System.out.println(a);
}



