Java基础:赋值运算符和其他运算符

举报
wljslmz 发表于 2022/12/28 13:10:47 2022/12/28
【摘要】 上一篇文章,我们介绍了按位运算符,本文介绍赋值运算符和其他运算符。 概述所谓的赋值运算符,说的那么高大上,其实就是=,用于给变量赋值。比如:int a = 5;如果只是讲那么多,那么本文结束!哈哈哈~~~但是怎么可能就那么轻易的放过你们。可以用赋值运算符组合算术运算符、位运算符和移位运算符来简化运算语句。 结合算术运算符 1、+=x += y,相当于x = x + y。 2、-=x -= y...

上一篇文章,我们介绍了按位运算符,本文介绍赋值运算符和其他运算符。

概述

所谓的赋值运算符,说的那么高大上,其实就是=,用于给变量赋值。

比如:

int a = 5;

如果只是讲那么多,那么本文结束!哈哈哈~~~

但是怎么可能就那么轻易的放过你们。

可以用赋值运算符组合算术运算符、位运算符和移位运算符来简化运算语句。

结合算术运算符

1、+=

x += y,相当于x = x + y。

2、-=

x -= y,相当于x = x - y。

3、*=

x *= y,相当于x = x * y。

4、/=

x /= y,相当于x = x / y。

5、%=

x %= y,相当于x = x % y。

结合按位运算符

1、&=

x &= y,相当于x = x & y。

2、|=

x |= y,相当于x = x | y。

3、^=

x ^= y,相当于x = x ^ y。

结合移位运算符

1、<<=

x <<= y,相当于x = x << y。

2、>>=

x >>= y,相当于x = x >> y。

3、>>>=

x >>>= y,相当于x = x >>> y。

代码演示

上面我们介绍了赋值运算符结合了算术运算符、位运算符和移位运算符,下面我们通过代码的形式来看看,简化前后值有没有变化。

直接上代码:

package com.test.javaroads.operator;

/**
 * @author: javaroads
 * @date: 2022/12/7 16:43
 * @description:
 */
public class Fourteen {

    public static void main(String[] args) {
        int a1 = 2, b1 = 2;
        int a2 = 4, b2 = 4;
        int a3 = 6, b3 = 6;

        // 组合使用
        a1 += 2;
        a2 &= 4;
        a3 <<= 6;

        // 不组合
        b1 = b1 + 2;
        b2 = b2 & 4;
        b3 = b3 << 6;

        // 结果对比
        System.out.println(a1 + ":" + b1);
        System.out.println(a2 + ":" + b2);
        System.out.println(a3 + ":" + b3);
    }
}

执行结果:

经过代码的演示,我们看到简化前后算出来的值是一样的,说明组合使用没有啥问题。

其他运算符

除了上几篇文章中提到的算术运算符、比较运算符、条件运算符、移位运算符、按位运算符和今天讲到的赋值运算符外,Java 还提供了以下运算符:

操作符 示例 解释
?: x ? y : z 这是if-else语句的一种简化描述方法,在写的例子中,就是x为真时执行y,x为假时执行z。
[ ] x[0] 用于数组相关的描述,在条目示例中,x数组的索引号表示为0的数组元素。
. X.是 用于描述对象的限定名称,一个示例条目可以看作是在一个 x 对象中引用一个 y 实例变量。
(参数表) 方法名 (int x) 用于描述方法从其调用者接收的参数列表。入口示例显示该方法接收一个 int 类型参数 x。
(类型) (整数)x 用于将值转换为指定类型,入口示例表示将值 x 转换为 int 类型。
new new x( ) 这是创建对象和数组时使用的运算符,示例=表示创建类 x 的对象。

讲到这里java中所有的运算符就结束了,我们来用一张图来加深一下大家的记忆:

下一篇文章给大家介绍一下Java运算符优先级。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。