本帖最后由 ankje 于 2015-3-10 23:43 编辑
编译以下代码时会报错,如果将行 3 的 byte 改成 short 同样会报错,而改成 int 或 long 则 编译通过。我的理解为:java会将两变量的加法运算的和转换成int类型,int再向byte或short转换自然会报错。但事实上到底是不是这个原因呢?各位大虾,你们有不同的理解么?- class Test{
- public static void main(String[] args){
- byte a=3,b=4,c=5;
- a=b+c;//报错
- System.out.println(a);
- }
- }
复制代码
|