【Java学习笔记】运算符

一、什么是运算符

运算符就是对操作数进行操作的符合,每一个运算符都有它自己的含义。

二、算术运算符

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

加减乘比较简单不多赘述,除和取模以一些代码为例进行讲解。
除法要注意的是:

  1. int与int相除,结果仍为int。
  2. 除数不能为0,否则会抛出异常。

取模则是:

  1. Java特有语法使得浮点型数也可以参与运算。
  2. 结果的符号是受被取模数影响。
public class Main {
    public static void main(String[] args) {
        //除法运算(在数据类型那里有说过int与int相除结果还是int)
        System.out.println(5/2);//2
        System.out.println((float)5/2);//2.5
        System.out.println((float)(5/2));//2.0
        System.out.println(5/(float)2);//2.5
        //取模运算
        System.out.println(10%3);//1
        System.out.println(10%-3);//1
        System.out.println(-10%3);//-1
        System.out.println(-10%-3);//-1
        System.out.println(11.5%2);//1.5
        //除数为0,抛出异常。
        int a=10/0;
    }
}

在这里插入图片描述

(二)增量运算符(+=、-=、*=、/=、%=)

public class Test001 {
    public static void main(String[] args) {
        int a=10;
        a+=2;//等价于a=a+2;
        System.out.println(a);//12
    }
}

只有变量可以使用,常量不能(因为要赋值)。

(三)自增/自减运算符(++、–)

前置:先增加后使用。
后置:先使用后增加。
同样只变量可用。

三、关系运算符(<、>、==、>=、<=、!=)

它的计算结果是布尔类型,只能是true或者false。

2<a<5在C里面可以运行,但是在Java中会报错。原因是Java关系运算返回值是布尔类型,而C用0和非0表示。

四、逻辑运算符(重点)

(一)逻辑与&&

一假全假

(二)逻辑或||

一真全真

(三)逻辑非!

只能适用于布尔表达式。

(四)短路求值

  1. 对于与&&,出现假则停止计算后面表达式。
  2. 对于或||,出现真则停止计算后面表达式。
public class Test002 {
    public static void main(String[] args) {
        //短路求值
        System.out.println(2<5||1>10/0);//10/0本来会抛出异常,因为短路就没有出现异常。
        System.out.println(3<2&&1<10/0);
    }
}

五、位运算符

位运算符是按二进制位运算。

(一)按位与&

都是1则为1,其余情况均为0。

(二)按位或|

都是0则为0,其余情况均为1。

(三)按位取反~

0换成1,1换成0。

(四)按位异或

两数二进制位相同则为1,否则为0。

重要结论:

  1. a^a=0;
  2. a^0=a;

六、移位运算(了解)

(一)左移<<

最左侧不要了,最右侧补0。相当于乘2的效果。

(二)右移>>

最右侧不要了,最左侧补符号位(正数补0,负数补1),相当于除二的效果。

(三)无符号右移>>>

最左侧补0。其他与右移一致。

!无无符号左移<<<

七、条件运算符

条件运算符:
表达式1(判断条件)?表达式2(真):表达式3(假);

  1. 不可单独使用条件运算符作为语句,一定要有与表达式2或3对应类型的变量去存储结果,否则会报错。
  2. 表达式2和3应当是同类型的,或者能够发生隐式类型转换。

八、运算符的优先级

在这里插入图片描述
这个表看起来挺多,挺杂,挺难记的。不过没关系,看看就好,没必要把它背下来。如果有拿捏不好的符号,大可以用括号把它们分别括起来。毕竟括号优先级第一位。

九、结束语

我是小邓,一个励志写好代码挣大钱的男人。希望通过博客在记录自己的学习历程的同时,认识更多志同道合的朋友。如果您觉得我的文章对您有帮助的话,请不要吝惜您的一键三连(点赞关注加收藏),这对我很重要,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值