java数据类型思考题
double d = 12.345; //可以吗? 可以。
float f =d ; //可以吗?不可以 。 错误: 不兼容的类型: 从double转换到float可能会有损失
float f1 =(float)12.345;//可以吗? 可以。就是强转。
float f2 = 12.345f;//可以吗? 可以
byte b1 =3 ,b2=4,b;
//b = b1+b2;//可以吗? 不可以。加完之后是int ,必须强转
b = 3+4;//可以吗?可以。
//java 比较聪明。它如果操作数是两个字面值常量的话,它在编译时就会确认数据范围是否超,如
果没超就可以。超了就报错。
byte b = 130;//可以吗?不可以
//要想让等式成立,应该怎么做?强转
byte b = (byte)130;
System.out.println('a');// 打印 a
System.out.println('a'+1);//打印 数字 【不论哪一种编码规则都兼容最初的一个编码规则
ASCII码规则】
//解释:
System.out.println('a');// a --> a的类型是char
System.out.println('a'+1);//98 输出a的ascii码+1的数值
char y = (char)('a'+1);
System.out.println(y);// b
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/72a8657f4bca2f4498b60735d9866562.png)