这是关于变量类型转换的问题,在java中有总共有两种转换形式,自动转换和强制转换。
在java中,表数范围小的可以直接赋值给表数范围大的,这就是自动转换。如果将表数大的
赋值给表数小的,则需要强制转换(七种基本类型的表数范围你可以百度)。
b定义的是byte类型,但是在参与运算 "b+1"时,因为b是与int类型运算,b自动转换为int类型与"1"进行运算,所以结果是int类型,而b是byte类型,其表数范围比int小,所以结果会报错,你需要对运算结果进行强制转换,才可以将结果赋值给b即:
b=(byte)b+1;
毕老师基础视频的课件里面java基础1,有这方面的讲解,希望对你有帮助,加油 |