1、Java的基本数据类型只有8种分别是byte,short,int,long,float,double,char,boolean(注:String不是Java的基本数据类型)
数据类型 大小/位 可表示数据范围
byte(字节) 8 -128~127
short(短整型) 16 -32768~32767
int(整型) 32 -21亿多~21亿多
long(长整型) 64 -2^63~(2^63)-1
float (单精度) 32 -3.4E38~3.4E38
double(双精度) 64 -1.7E308~1.7E308
char(字符) 16 0~65535
boolean(布尔) - true或false
(附:long 和double都是64位。为什么double表示的范围大那么多呢?)
1.1、数据类型转换
1.1.1、自动类型转换:小类型到大类型
1.1.2、强制类型转换:大类型到小类型
强转有可能会溢出或精度丢失
1.1.3、数据类型从小到大的顺序为:byte => short(char) => int => long => float => double
1.2、赋值和运算
1.2.1、整数直接量可以直接赋值给byte,short,char,但不能超出范围
charc = 97;//字面量可以直接给char赋值
//char类型形式为字符,实质是码int,保存一个整型。 //根据Unicode字符集编码,每个字符都有一个相对应的码
int a = 97;
//char cc = a;//编译出错,大类型转小类型要强制类型转换
1.2.2、byte,short,char型数据参与运算时,先一律转换为int再运算
shortb1 = 5;
shortb2 = 6;
shortb3 = (short)(b1+b2);//这里的b1和b2运算时自动转为int型,所以必须强转为short型才能赋值给b3
1.2.3、 赋值
直接量超范围为编译错误,运算时超范围为溢出
longa = 1000000000*2*10L;
System.out.println(a); //200亿Llongb = 1000000000*3*10L;
System.out.println(b); //溢出了longc = 1000000000L*3*10;
System.out.println(c); //300亿L//使用long型进行大数值运算时,最好在第一个数后写上L//说明该数字是long型,避免默认成整型运算
//注:长整型的直接量,需在数字后加L或l
1.2.4、常用数据单位转换
1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8Bit(位)
1.2.5、基本类型 “=” 号是对变量赋值,引用类型“=”号是让引用变量指向一个地址值
网友评论