Java基础(三):运算符

一、算术运算符

类型:
 + - * / % ++ - -

说明

  1.  i ++ 表示先赋值再自增,++ i 表示先自增再赋值。
  2.  i - - 表示先赋值再自减,- - i 表示先自减再赋值。
  3. %的本质可以看成一个公式:a % b = a - a / b * b
    例:
    10 % 3 = 1
    10 % -3 = 1
    -10 % 3 = -1
    -10 % -3 = -1

二、关系运算符

关系运算符的结果都是boolean型,关系表达式常用在条件判断语句中。
类型:
相等:==
不等: !=
小于:<
大于:>
小于等于:<=
大于等于:>=

三、逻辑运算符

用于连接多个条件/表达式,最终结果也是boolean型。
类型:
逻辑与:&(同真为真)
逻辑或:|(有真为真)
异或:^(相同为真,不同为假)
短路与:&&(同真为真)
短路或:||(有真为真)
取反:!(真假互换)
在这里插入图片描述

说明

  1. &与&&区别:
    a&&b,若a为false,那么b将不会进行判断;
    a&b,无论a为true还是false,b都会判断。
  2. | 与 || 区别:
    a || b,若a为true,那么b将不会进行判断;
    a | b,无论a为true还是false,b都会判断。
  3. 因此可以得出为什么叫短路与/短路或(走到第一步就被截断了),&&和||常用于条件判断,&和|常用于运算。

四、赋值运算符

基本赋值运算符:=
复合赋值运算符:+= -= *= /= %= 等

五、三元运算符

基本语法:
条件表达式?表达式1:表达式2;
运算规则:
若条件表达式为true,运算结果是表达式1;
若条件表达式为false,运算结果是表达式2。

六、运算符的优先级

优先级从上到下逐级递减;只有单目运算符(对一个变量运算,例:++a)、赋值运算符是从右到左的。

优先级方向类型运算符
. () {} ; ,
右>左单目运算符++ - - ~ !
左->右算术运算符* / %
左->右同上+ -
左->右位移运算符<< >> >>> 位移
左->右比较运算符< > <= >= instanceof
左->右同上== !=
左->右逻辑运算符&
左->右同上^
左->右同上|
左->右同上&&
左->右同上||
左->右三元运算符?:
右->左赋值运算符= *= /= %=
同上+= -= <<= >>=
同上>>>= &= ^= |=

七、位运算

(一)、原码 反码 补码

  1. 最高位为符号位:0表示正数,1表示负数。
  2. 正数的原、反、补码一样。
  3. 负数的反码 = 原码符号位不变,其他位取反(或者补码-1)。
  4. 负数的补码 = 原码符号位不变,其他位取反加一(或者反码+1)。
  5. 0的原、反、补码都是0。
  6. Java没有无符号数,即都是有符号数。
  7. 计算机运行时,以补码方式运算。
  8. 我们看结果时,看的是原码。

具体请参考其它博客,这里不做解释。

(二)、位运算符

 右位移 >> :本质右移1位除2(低位溢出,符号位不变,高位用符号位补)
 左位移 << :本质左移1位乘2(符号位不变,低位补0)
 算术右位移 >>>(又称无符号右移,低位溢出,高位补0)
 按位取反 ~
 按位与 &
 按位或 |
 按位异或 ^

特别说明
本文章是个人整理的学习笔记,参考b站韩顺平老师的课程(【零基础 快速学Java】韩顺平 零基础30天学会Java)。老师讲的非常好,有兴趣的可以去看一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值