赋值运算符的意思(Java基础:赋值运算符介绍)

近几天和大家聊了不少Java中的各种运算符的知识,今日,我们再来一起探讨一下Java语言中的赋值运算符。
赋值运算符的定义
赋值运算符是一种将常量、变量、或者表达式的值赋给某个变量的运算符。从计算机内存角度讲,就是将常量、变量、或者表达式的地址值交给变量存储。最基础的赋值运算符是“=”。
赋值运算符的种类
在Java语言中,赋值运算符大致包含以下这些:

看了上面表格里面的说明,我们再来一个个用程序来跑一跑看看。
最基础的赋值运算符和等于号写法一样。在内存中,计算机将运算得到的结果的地址值存放在变量开辟的空间中的过程就是赋值。赋值运算符是Java语言中最常见的运算符之一。接下来,我们来看看Java代码中各种赋值运算符的示例:

请看代码中灰色的注释部分,我已经在注释中详细地写了各种运算符起到的作用。其中需要注意以下几点:
左移位赋值、右移位赋值、无符号右移位赋值、按位与赋值、按位或赋值、按位异或赋值这六种运算符不支持浮点数。原因是这六种赋值运算符都涉及二进制数位运算操作。右移位赋值和无符号右移位赋值在变量的值为负整数时是有区别的。具体原因不清楚的小伙伴请参照前几天的《Java位运算介绍:按位移运算》这一篇,里面已经详细介绍了两者的区别。赋值运算符和对应的运算后赋值并不是全等的。例如:我们定义一个变量 short a=1;a+=2;上述表达式是可以执行的。但是下面的表达式直接编译不通过,无法执行:short a = 1;a = a+2;
看图(赋值运算符,当参与运算一方的类型占用内存大于另一方时,会自动提升低内存变量为高内存变量。在Java中,整数的默认类型是int,所以short变量与整数进行运算时自动转为int变量):

再看另一种写法,直接标红,编译不通过,无法执行:

所以有些看起来一个意思的代码,不一定相同。好了,今日的分享就到这里。我们下期再见!
还是老生常谈的一句话来结束:键盘敲乱,月薪过万!

#编程语言#



