class VariableTest4 { public static void main(String[] args) { //1.编码情况1: long l = 123213; System.out.println(l); /* 报错信息: 编译失败:过大的整数 long l1 = 21332423235234123; 原因分析: 你声明了一个变量类型为long的但是你没有加上L或者是l 然后系统就默认把后边的 123213 当作为int类型的变量 赋值给了 Long 所以说没有出现报错 */ long l1 = 21332423235234123L; // 如果后边的数字大小 超过了int的范围 他就会报错 //**************** //编译失败 //float f1 = 12.3; float f1 = (float)12.3; /* 这个的原因是 系统默认把12.3当作为了doubleL类型的变量 然后 你把double 类型的变量赋值给了 float 他就会报错 解决方法就是 加上强转 或者是加上f或者是F */ //2.编码情况2: //整型常量,默认类型为int型 //浮点型常量,默认类型为double型 byte b = 12; //byte b1 = b + 1;//编译失败 // 这个其实是 byte + int 应该用int 及以上的类型来接受 // 我们却使用了 byte 来接受所以说 有报错 //float f1 = b + 12.3;//编译失败 // 这个也是同理 byte + double }}