基本类型有八种,分别有
byte short int long char folat double boolean
byte是一个字节,八位有符号的数,取值不能超出这范围127至-128
举个例:
byte b;
b=2;
b=b*2;
system.out.println(b);
打印出来肯定是错的而且错在第三行的b=b*2
原因就在,java在运算的时候会自动把byte转换成int类型的,主要是考虑到精确度,就等于b*2是int类型的,把b=b*2,等号前面的那个b是byte的,后面那个得数却是int的,所以赋值失败!第二行的b=2为什么没事?原因就在它没有进行运算!
解决方法:把b=b*2改成b=(byte)(b*2)!这意思就是把b*2转换成byte类型的。也就是int转成byte。
short是一个有符号两个字节的整数,16位,取值范围32767至-32768。
short s;
要注意的问题就是,和byte差不多,但要把short赋值给byte的话,那么也是要强制转换的,而且,转换后如果数字范围超过byte的话,那么数字就不同了!不是赋过去的那个数了,尽量少用!
int是一个四个字节的整数!也就是32位,没办法,一字节=8位~取值范围147483647至-2147483648
long l;
是八个字节的!64位…………………………
char ch;
两个字节无符号………………ASCII看下就懂了~~
folat f;这个省略
double d;这个省略
boolean bool;无符号!只有true和false,不能当作整数运算