byte,char,short,int,long,float,double,boolean
2.包装类,
Byte(1字节), character(2字节), Short(2字节), Integer(4字节), Long(8字节), Float(4字节), Double(8字节), Boolean
这些包装类都在java.lang包里,其中SIZE属性记录二进制位数,MIN_VALUE和MAX_VALUE记录取值范围。存储在堆中,因为使用final修饰,所以无法继承类以及重写任何方法。
<span style="font-family:Arial;white-space:pre-wrap">数据类型 大小 范围 默认值 </span>
byte(字节) 8 128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648 - 2147483648 0
long(长整型) 64 -9233372036854477808 - 9233372036854477808 0
float(浮点型) 32 -3.40292347E+38 - 3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308 - 1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \ - u\ffff ’ ‘\ ’
boolean(布尔型) 1 true/false false
实数:double,float 整数:byte,short,int ,long 字符:char 布尔值:boolean
3.int型值可以赋给所有数值类型的变量;
long型值可以赋给long、float、double类型的变量;
float型值可以赋给float、double类型的变量;
double型值只能赋给double类型变量。
把一个能表示更大范围或者更高精度的类型,转换为一个范围更小或者精度更低的类型时,
就需要使用强制类型转换。
例如:把一个double型值赋值给一个long类型变量,编译时会报错,即使这个值没有超出long类型的取值范围
long l = 1.0D;
除非使用强制类型转换
long l=(long) 1.0D;
注意:未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型。
4.byte,char,short,int四种基本类型及其包装类(需要Java5.0/1.5以上版本支持)可以用于switch语句,其它类型编译会报错。
注意:enum(枚举类型,Java5.0以上版本可用)可用于swith语句
public class Test {
static enum e{
A,B
}
public static void main(String[] args) {
switch (Test.e.A) {
case A:
System.out.println("A");
break;
case B:
System.out.println("B");
break;
}
}
}
结果:A
运算符对基本类型的影响
1.当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:
两个操作数中,先考虑是否有一个是double类型的,是的话,另一个和结果 将会被转换成double类型。以此考虑float,long,除此之外两个操作数(包括byte、short、int、char)都将会被转换成int类型。
2.当使用+=、-=、*=、/=、%=、运算符对基本类型进行运算时,遵循如下规则:
运算符右边的数值将首先被强制转换成与运算符左边数值相同的类型,然后再执行运算,且运算结果与运算符左边数值类型相同。