/* 练习各种类型的变量 */ public class Test03 { public static void main(String[] args) { // 存一个字节的整数 byte a = 100; // 存4个字节的整数 int b = 6666; // 存单精度小数 float float c = 6.66F; double d = 6.66; // 定义一个能存字符的变量 char e = 'a'; char f = 97; System.out.println(e); System.out.println(f); char e1 = '好'; System.out.println(e1); System.out.println(e1+0); char f1 = 22909; System.out.println(f1); // 定义一个boolean类型变量 boolean b1 = true; boolean b2 = false; System.out.println(b1); System.out.println(b2); } }
输出如下图:
/* 练习自动类型转换的注意事项 */ public class Test4_1 { public static void main(String[] args) { byte a = 3; short b = 2; char c = 'a'; // 由于byte,short,char三种类型,只要参与运算,都会优先变成int,然后再运算,所以res变量的类型应该设计为 int int res = a+b; int res2= a+c; System.out.println(res); System.out.println(res2); double d = 1.1; double res3 = d+a; System.out.println(res3); double e = 0.1; double e2 = 0.2; double res4 = e+e2; System.out.println(res4); } }
输出如下图:
/* 练习强制类型转换的基本格式 小的数据类型 变量名 = (小的数据类型 )大的数据值或变量; */ public class Test05_1 { public static void main(String[] args) { int a = 1500; // 只要数字超出了byte范围,就会发生精度损失的现象; byte b = (byte) a; System.out.println(b); double c = 9.999; int d = (int)c; System.out.println(d); byte e1 = 5; byte e2 = 6; // 当多个数据参与运算的时候,可以使用小括号提升优先级,将最终运算的结果整体强制转换即可 byte res = (byte)(e1+e2); System.out.println(res); } }
输出如下图:
/* long类型变量 */ public class Test05_2 { public static void main(String[] args) { // 自动类型转换,自动将int类型的555转成long类型,然后赋值给了a long a = 555; // 由于 5555555555555 已经超出了int范围,所以默认int类型的时候,存不下,因此报错 //long a2 = 5555555555555; // 解决办法就是给数字加 L ,明确告诉java,这个数字就是long类型 long a2 = 5555555555555L; } }