3.运算符的介绍

运算符有哪些

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 位运算符
  • 三元运算符

算术运算符

运算符运算范例结果
+正号+33
-负号b=4; -b-4
+5+510
-6-42
*3*412
/5/51
%取模(取余)7%52
++自增(前):先运算后取值a=2;b=++a;a=3;b=3
++自增(后):先取值后运算a=2;b=a++;a=3;b=2
- -自减(前):先运算后取值a=2;b=- -aa=1;b=1
- -自减(后):先取值后运算a=2;b=a- -a=1;b=2
+字符串连接“He”+”llo”“Hello”
  • 算术运算符的注意问题
    • 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。

    • 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的结果是?

    • “+”除字符串相加功能外,还能把非字符串转换成字符串.例如:
      System.out.println(“5+5=”+5+5); //打印结果是? 5+5=55 ?

赋值运算符

  • 符号:=

    • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
    • 支持连续赋值。
  • 扩展赋值运算符: +=, -=, *=, /=, %=

比较运算符

运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof检查是否是类的对象“Hello” instanceof Stringtrue
  • 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
  • 比较运算符“==”不能误写成“=” 。

逻辑运算符

&—逻辑与
| —逻辑或
!—逻辑非
&& —短路与
|| —短路或
^ —逻辑异或

aba&ba&&ba|ba||b!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse
  • 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写
    成x>3 & x<6 。

  • “&”和“&&”的区别:

    • 单&时,左边无论真假,右边都进行运算;
    • 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
  • “|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

  • 异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

理解:异或,追求的是“异”!

位运算符

运算符运算范例
<<左移3 << 2 = 12 --> 322=12
>>右移3 >> 1 = 1 --> 3/2=1
>>>无符号右移3 >>> 1 = 1 --> 3/2=1
&与运算6 & 3 = 2
|或运算6 | 3 = 7
^异或运算6 ^ 3 = 5
~取反运算~6 = -7
  • 位运算是直接对整数的二进制进行的运算

位运算符的细节

符号
<<空位补0,被移除的高位丢弃,空缺位补0。
>>被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1。
>>>被移位二进制最高位无论是0或者是1,空缺位都用0补。
&二进制位进行&运算,只有1&1时结果是1,否则是0;
|二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;
^相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 ; 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
~正数取反,各二进制码按补码各位取反;负数取反,各二进制码按补码各位取反

三元运算符

  • 格式:
    • (条件表达式)?表达式1:表达式2;
    • 表达式1和表达式2为同种类型
    • 三元运算符与if-else的联系与区别:
      1)三元运算符可简化if-else语句
      2)三元运算符要求必须返回一个结果。
      3)if后的代码块可有多个语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小黑的吴小黑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值