Java中运算符的种类

本文详细介绍了Java中的各种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符等,帮助读者深入理解Java运算符的使用方法和规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 1.Java中运算符的种类
算术运算符、位运算符、赋值运算符、关系运算符、逻辑运算符、三目运算符、类型相关运算符

# 2.算术运算符
作用:执行基础的四则运算
+ - * / % ++ --
取余运算(模运算):
 
  
  1. //模运算(取余运算)
  2. int a = 10;
  3. int b = 3;
  4. System.out.println(a % b);
自增运算符:++
作用:操作一个变量(单目运算符),以步长为1,将运算数的值进行自增
    i++:先用后加:①将变量中的值取出,进行打印或四则运算(用)②对变量进行步长为1的自增③将自增完毕量重新赋值给变量
    ++i:先加后用:① 对变量进行步长为1的自增② 将自增完毕量重新赋值给变量③ 将变量中的值取出,进行打印或四则运算(用)
 
  
  1. int i1 = 0;
  2. System.out.println(i1++);
  3. System.out.println(i1);
  4. System.out.println("----------");
  5. int i2 = 0;
  6. System.out.println(++i2);
  7. System.out.println(i2);
  8. System.out.println("----------");
  9. int i3 = 0;
  10. int i4 = 0;
  11. System.out.println(i3++ + ++i3); //2:0 + 2
  12. System.out.println(++i4 + i4++); //2:1 + 1
  13. System.out.println("----------");
  14. System.out.println(i3); //2
  15. System.out.println(i4); //2

# 3.位运算符
作用:操作 整数的2进制位
注意:Java的位运算符不适用于浮点值

(了解:)
二进制位的表示形式:
5: 0000 0000 0000 0000  0000 0000 0000 0101 --> 1*2^0 + 0*2^1 + 1*2^2 = 1 + 0 + 4 = 5
9: 0 000 0000 0000 0000  0000 0000 0000 1001
二进制整数的表示码制:
二进制表示整数统一使用 补码表示:
    正整数:补码 == 源码
    负整数:补码:去除正负位,得到绝对值位,将绝对值位:按位取反,末位加1
-5: 0 000 0000 0000 0000  0000 0000 0000 0101
取绝对值:1 ( 000 0000 0000 0000  0000 0000 0000 0101)
按位取反:1(111 1111 1111 1111 1111 1111 1111 1010)
末尾加1:1 (111 1111 1111 1111 1111 1111 1111 1011)
-5: 1 111 1111 1111 1111 1111 1111 1111 1011
二进制位负数求绝对值:
①忽略符号位
②将绝对值位:末尾减1,再取反
1( 111 1111 1111 1111 1111 1111 1111 1011)
1( 111 1111 1111 1111 1111 1111 1111 1010)
1(000  0000 0000 0000 0000 0000 0000 0101)

&:与运算
作用:全1为1,有0全0
5:0000 0101
9:0000 1001
&:0000 0001 = 1

|:或运算
作用:有1为1,全0为0
5:0000 0101
9:0000 1001
|:0000 1101 = 13

~:取反运算(单目运算符)
作用:01互换
5:0000 0101
~:1111 1010 = -6

^:异或运算
作用:相同为0,不同为1
5:0000 0101
9:0000 1001
^:0000 1100 = 12

>>:右移运算
作用:将2进制位向右进行移动,最右边的2进制位溢出,空位在左侧,用符号位补齐
现象: 正整数向右位移1位,相当于除以1次2,右移运算不会改变运算数的符号
     5:0000 0101
>> 2:0000 0001

<<:左移运算
作用:将2进制位向左进行位移,最左边的2进制位溢出,空位在右侧,用0补齐
现象:正整数向左位移1位,相当于乘以1次2,左移运算有可能改变运算数的正负
     5:0000 0101
<< 2:0001 0100

>>>:无符号右移运算
作用: 将2进制位向右进行移动, 最右边的2进制位溢出, 空位在左侧,统一使用0补齐
现象:无符号右移得到的结果一定是正数
        5:0000 0101
>>> 1:0000 0010
       -5:1111 1011
>>> 1:0111 1101

# 4.赋值运算符
传统的赋值运算符只有一个:=
i1 += 5; : 在i1这个变量原值的基础上加上一个5,并将运算结果重新赋值回i1
+=:赋值运算符的扩展
+= -= *= /= %= &= |= ^= >>= <<= >>>=
赋值运算符扩展的规则:
①被扩展的运算符必须是双目运算符
②被扩展的运算符运算结果必须是数字

# 5.关系运算符
作用:用来表示两个数字类型晕算数的大小、等于等关系
< <= == != >= >

# 6.逻辑运算符
&:同真为真,一假全假
|:有真为真,全假为假
!:真假互换
^:相同为假,不同为真
&&:短路与:如果参与与运算的两个条件中,第一个条件就是假的,后序判断条件不执行
||:短路或:如果参与或运算的两个条件中,第一个条件就是真的,后序判断条件不执行

# 7.三目运算符
解释名词:运算符的目数:就是参与当前运算符运算的运算数个数
单目运算符:++ -- ~ !
双目运算符:+ - * / % >> << >>> & && | || == != < <= > >=
三目运算符:?:
作用:实现最简单的条件分支:根据一个条件是否达成,判断返回哪个具体的值
使用公式:条件成立吗 ? 成立返回这个 : 不成立返回这个;
注意:三目运算符长得像表达式,但是这个东西本质上还是运算符,只要是运算符就需要一个结果变量接收其运算结果
练习题:
    通过三目运算符的嵌套,实现对int型整数a和b的大小关系的判断:
    要求:
        a > b:返回“大于”字符串
        a == b:返回“等于”字符串
        a < b:返回“小于”字符串
 
  
  1. int a = 10;
  2. int b = 15;
  3. String resultStr = a > b ? "大于" : (a == b ? "等于" : "小于");
  4. System.out.println(resultStr);

# 8.运算符的结合性
结合性:一个运算符从哪边向哪边进行运算
大部分的运算符都是从左向右进行结合的
Java中从右向左进行结合的运算符:赋值运算符、单目运算符、三目运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

内卷成仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值