常量优化机制问题 java:6: 错误: 整数太大byte c = 300+7;
6和8是常量,java存在常量优化机制,会在编译时让6和8进行相加,最后会判断结果14是否在byte的取值范围之内。原因:6+8是两个整数常量,默认的数据类型是int,所以是两个int相加还是int,所以应该需要强转?第一次输入的是byte c = 6+8;很正常,可以通过编译。第二次输入的是byte c = 300+7;知识点:java常量优化机制。1.不在范围之内,编译出错。2.在范围之内,通过编译。解决方案:就是进行强转。
原创
2024-01-15 15:36:11 ·
349 阅读 ·
0 评论