Java中 复合赋值运算符 的 类型转换(属于强制类型转换)

2021/5/8 1:25:11

本文主要是介绍Java中 复合赋值运算符 的 类型转换(属于强制类型转换),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

当程序中有复合赋值运算符时,不同类型的数据会进行强制转换,比如下面例子:byte b += 2,是把int类型数据强制转换成byte,然后在进行赋值操作的!

public class AssignOperator {
    public static void main(String[] args) {
        //  有个容易疑惑的地方 :复合赋值运算符会进行类型转换
	   byte b = 3; //这句代码正确的前提是 后面赋值的数字在byte的范围内,3 在范围内,所以不报错  
        // b = b + 2;// 这就话会报错,因为b(byte)+ 2(int) 运算之后的结果为int 无法赋值给b(byte)

        b = (byte)(b + 2); //这样就不会报错,前面加上一个强转符号,所以下面的符合运算符相当于有一个隐形的强转符号
        b += 2; //这句代码不报错是因为复合运算符相当于有一个强转符号, 把结果转换成符合的数据类型在进行赋值
    }
}


这篇关于Java中 复合赋值运算符 的 类型转换(属于强制类型转换)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程