1、整型变量
 byte:1字节
 short:2字节
 int:4字节
 long:8字节*通常定义整型变量的时候采用int
 *采用long进行定义变量的格式比较特殊:必须以“l”或者“L”结尾
 long a = 12656780997L;2、浮点型:double and float
 单精度float:4字节
 双精度double:8字节
 double的精度是float的两倍。通常采用此类型
 Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。3、字符型:char
 (一个字符=两个字节)• char:通常只能存储一个字母或者一个汉字或其他书面语的一个字符。
 如 char c1 = ‘A’;
 不能写成char c1=‘AB’但是也存在特殊情况
 char c1 = 97;
 运行结果为:a(对照过去ASCII码)• 允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。
 例如:char c1 = ‘\n’; // '\n’表示换行符• 直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。XXXX代表
 一个十六进制整数。
 例如:char c1 = ‘\u000a’; (这种方法比较少用)4、布尔类型:boolean
• 只允许取值true和false
• 常使用在循环结构和条件判断中
 例如:
 boolean bb1 = true;boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示
5、基本数据类型转换
• 自动类型转换:变量间做运算时,容量小的类型自动转换为容量大的数据类型
 容量大小比较:
 byte
 char ——>int ——>long——>float——>double
 shortPs:容量的大小是指表示数的范围大小,比如:float的容量要大于long的容量
• 强制类型转换:将容量大的类型强制转换为容量小的数据类型
 (1)需要采用强转符()
 (2)可能会造成精度上的损失使用格式:
 double d1 = 12.3;
 int i1 = (int)d1;//截断操作6、long和float不加后面的l和f的时候,运行结果的不同
 long i = 12345;
 //这里的 i 在12345后面虽然没有加l,但是运行不会报错,会将 i 默认定义为int类型,因为long比int容量大,可以进行自动类型转换float j = 12.3
 //运行报错,因为浮点数常量默认为double类型,而double类型比float类型容量大,不能进行自动类型转换Ps:
 整型常量:默认类型为int
 浮点型常量:默认类型为doublebyte b=12;
 byte b1=b+2;//运行报错,因为这里的2默认是整型int,所以不能进行自动类型转换float f1= b+12.3;;//运行报错,因为这里的12.3默认是整型double,所以不能进行自动类型转换