Java运算符

本文详细介绍了Java中的运算符,包括算术运算符(加减乘除、模运算、增量运算和自增自减)、关系运算符、逻辑运算符(与、或、非)以及位运算符(位与、位或、位异或、左移、右移、无符号右移和取反)。旨在帮助Java初学者理解这些基本概念并应用于编程实践。
摘要由CSDN通过智能技术生成

目录

1.什么是运算符

2.算术运算符

                1. 基本四则运算符:加减乘除模(+ - * / %)

                2. 增量运算符 += -= *= %=

                3. 自增/自减运算符 ++ --

3. 关系运算符

4.逻辑运算符

5.位运算符


1.什么是运算符

计算机的最基本的用途之一就是执行数学运算,比如:

int a = 10;
int b = 20;
a + b;
a < b;

上述 + 和 < 等就是运算符,即:对操作数进行操作时的符号,不同运算符操作的含义不同。

作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符(+ - * /)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算符等。

2.算术运算符

                1. 基本四则运算符:加减乘除模(+ - * / %)

                

int a = 20;
int b = 10;
System.out.println(a + b); // 30
System.out.println(a - b); // 10
System.out.println(a * b); // 200
System.out.println(a / b); // 2
System.out.println(a % b); // 0 --->模运算相当于数学中除法的余数

注意:

  1. 都是二元运算符,使用时必须要有左右两个操作数
  2. int / int 结果还是int类型,而且会向下取整
  3. 做除法和取模时,右操作数不能为0
  4. % 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的
  5. 两侧操作数类型不一致时,向类型大的提升
                2. 增量运算符 += -= *= %=
int a = 1;
a += 2; // 相当于 a = a + 2
System.out.println(a); // 输出3
a -= 1; // 相当于 a = a - 1
System.out.println(a); // 输出2
a *= 3; // 相当于 a = a * 3
System.out.println(a); // 输出6
a /= 3; // 相当于 a = a / 3
System.out.println(a); // 输出2
a %= 3; // 相当于 a = a % 2
System.out.println(a); // 输出2

注意:只有变量才能使用该运算符,常量不能使用。

                3. 自增/自减运算符 ++ --
int a = 1;
a++;//后置++是先使用变量原来值,表示式结束时给变量+1
++a;//前置++是先给变量+1,然后使用变量中的值
int b = 1;
System.out.println(b++);//后置++,所以输出2
int c = 1;
System.out.println(c++);//前置++,所以输出1

注意:

  • 如果单独使用,【前置++】和【后置++】没有任何区别
  • 如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置++】先使用变量原来的值,表达式 结束时给变量+1
  • 只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改

3. 关系运算符

关系运算符主要有六个: ==    !=    <    >    >=    <= ,其计算结果是 true 或者 false 。

1. 相等运算符(==):比较两个操作数是否相等,如果相等则返回true,否则返回false。

2. 不等运算符(!=):比较两个操作数是否不相等,如果不相等则返回true,否则返回false。

3. 大于运算符(>):比较左操作数是否大于右操作数,如果是则返回true,否则返回false。

4. 小于运算符(<):比较左操作数是否小于右操作数,如果是则返回true,否则返回false。

5. 大于等于运算符(>=):比较左操作数是否大于等于右操作数,如果是则返回true,否则返回false。

6. 小于等于运算符(<=):比较左操作数是否小于等于右操作数,如果是则返回true,否则返回false。

这些关系运算符可以用于任何基本数据类型,如整数、浮点数、字符等,也可以用于对象的比较。

4.逻辑运算符

逻辑运算符主要有三个: && || ! ,运算结果都是 boolean类型。

Java的逻辑运算符包括与(&&)、或(||)和非(!)。

1. 与运算符(&&):如果两个操作数都为true,则结果为true;否则,结果为false。
   例如:(a > 5 && b < 10) 表示当a大于5并且b小于10时,条件为真。2.

表达式1表达式2表达式3

2.或运算符(||):如果两个操作数中至少有一个为true,则结果为true;否则,结果为false。
   例如:(a > 5 || b < 10) 表示当a大于5或者b小于10时,条件为真。

表达式1表达式2表达式3

3. 非运算符(!):用于取反操作,即将true变为false,将false变为true。
   例如:!(a > 5) 表示当a不大于5时,条件为真。

表达式1表达式2

4.短路求值

例如:

System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true

对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式.

对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式.

& 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值.

这些逻辑运算符经常用于条件语句(如if语句和while循环)中,用于根据条件的真假来决定是否执行某段代码。

5.位运算符

Java位运算符用于对整数类型或整数类型的表达式的各个位进行操作。位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位 的每一位依次进行计算。

以下是Java中可用的位运算符:

1. 位与(&):对两个操作数的各个位进行AND操作,只有两个位都为1时结果才为1,否则为0。

例如:10 & 20
10的二进制00001010
20的二进制00010100

 

进行按位与(&)后的结果就是

00000000
结果为0

2. 位或(|):对两个操作数的各个位进行OR操作,只要一个位为1则结果为1,否则为0。

这里还是用上一个例子的两个数,方便对比:

                                10 | 20
10的二进制00001010
20的二进制00010100

进行按位或(|)后的结果就是

00011110

结果为30

3. 位异或(^):对两个操作数的各个位进行XOR操作,相同位为0,不同位为1。

4. 左移(<<):将第一个操作数的各个位向左移动指定的位数,右侧用0填充。

5. 右移(>>):将第一个操作数的各个位向右移动指定的位数,左侧用原来的最左位填充。

6. 无符号右移(>>>):将第一个操作数的各个位向右移动指定的位数,左侧用0填充。

7. 取反(~):对操作数的各个位取反,即0变为1,1变为0。

这些位运算符通常用于对二进制数据进行操作,如位掩码、位标志和位操作等。

本人是Java小白,在学习的同时写博客进行整理和复习,如果对同样是小白的你有帮助的话,还请多多支持,一起进步,同样,如果您是大佬的话,如果我整理的有错误的话还请多多指正,谢谢大家。

  • 39
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值