【Java】一文学懂Java中运算符(建议收藏)

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 【Java】一文学懂Java中运算符(建议收藏),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

在这里插入图片描述

🌱博主简介:是瑶瑶子啦,一名大一计科生,目前在努力学习C进阶,JavaSE。热爱写博客~正在努力成为一个厉害的开发程序媛!
📜所属专栏:爪洼岛冒险记
✈往期博文回顾:【爪洼岛冒险记】第2站
🕵️‍♂️近期目标:成为百粉小博主。持续输出JavaSE、C进阶、数据结构、算法相关的优质博客,
🙇‍♀️写博客理念:力求用自己的语言加上自己的理解去阐述知识知识、技术。喜欢画图、思维导图去描述过程和知识之间的联系。
🎡您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!
🌺:“再牛的程序员也是从小白开始,既然开始了,就全身心投入去学习技术”

Part1:Java中的运算符

1,算术运算符

运算符 说明
+ 加法
减法
* 乘法
⭐/ 除法
⭐% 取模
%= 复合赋值运算符;a%=b即a=a%b(下面同理)
/=
+=
–=
%=
++ 自增运算符:前置时,先自增,后使用(表达式的值);后置式,先使用,再自增
– — 自减运算符:前置时,先自减,后使用(表达式的值);后置式,先使用,再自减

这里着重讲一下除法运算符,和取模运算符的注意事项

除法运算符:

  • java中除数不能为0.否则会抛出异常.(异常在后期讲,这里需要明白的是,抛出此算术异常则程序终止运行)
		int b = 3 / 0;
        System.out.println(b);

在这里插入图片描述

  • int/int结果是int(这点和C中是一样的),不能得到小数

取模运算符:–取余数

  • 和C中不同的是.java中的取模运算符的操作数可以为小数
 		double c=3.14/2;
        System.out.println(c);

在这里插入图片描述

  • a%b得到结果的正负取决于a的正负,和b无关
 		int a=6%4;
        System.out.println(a);//2
        a=-6%4;
        System.out.println(a);//-2
        a=6%(-4);//直接当作6%4
        System.out.println(a);//2
        a=-6%(-4);//当作-6%4
        System.out.println(a);//-2

复合赋值运算符需注意

  • Java中使用复合运算符在运算时,自动进行了强制类型转换
    如:
char c=25+c;

//报错,在上一站也提到过,CPU的整形运算器,默认操作字节长度为4,为了适应CPU,这里的25+c会在编译时提升为int.所以报错

🤷‍♀️”想要不报错,怎么办?”—-强制类型转换(打包票)

char c=(char)25+c;

看下面这个代码,没有报错,虽然相当于c=c+25,但是由于Java中的符合运算符自动进行了强制类型转换,所以不报错.

char c+=25;

2,关系运算符

  • java中,使用关系运算符进行运算,运算后表达式的结果的数据类型为布尔类型:ture或者false
运算符 说明
== 判断左右操作数是否相等
!= 不相等
<=
>=
<
>

3,⭐逻辑运算符

  • 用逻辑运算符运算后,表达式的结果同样也是布尔类型
运算符 说明
&& (逻辑与) 一假则假,全真则真
|| (逻辑或) 一真则真,全假则假
! 逻辑非

❗注意:

  1. 逻辑运算符要求运算数均为布尔类型.
  2. 逻辑与(&&)存在短路现象:
expr3=expr1&&expr2;

如果expr1的值为false,则expr2不执行,expr3=false;

  1. 逻辑或(||)存在短路现象
expr3=expr1||expr2;

如果expr1的值为true,则expr2不执行,expr3=true

4,位运算符

和C中一样,Java中对数据操作的最小单位是位(bit),而不是字节(byte)

运算符 说明
& 按照二进制位与
| 按照二进制位或
^ 按照二进制位异或(一样的是0,不一样的是1)–>本质:找不同

🤷‍♀️:“怎么用?”
👉移位操作符、位操作符详解–图解演示、例题讲解、经验总结
❣关于位操作符和移位操作符,Java和C语言都是一样的使用,我之前写的这篇博客已经介绍得很清晰了,这里我就不重复造轮子了.

5,位移操作符

运算符 说明
<<(左移) 左边丢弃,右边补0
>> (右移) 右边丢弃,左边补符号位对应的数字
>>> (无符号右移)💦(Java特有) 右边丢弃,左边补0

关于二进制位具体咋移动的,可戳👉移位操作符、位操作符详解–图解演示、例题讲解、经验总结

6,三元运算符

表达式1?表达式2:表达式3

解释:表达式1的结果是boolean类型,若表达式1为true,执行表达式2;否则执行表达式3;
注意:参与三元运算符的所有运算数是一个整体!(无论表达式3是否执行)。和其他运算数参利用运算符参与运算一样,涉及到类型提升问题。

优先级问题:

不必刻意取记优先级,根据逻辑,适当加括号即可~

Part2:Java中的类型提升

(其实在前一篇有提到过,这里具体是系统总结一下~

1:隐式类型提升(自动类型转换)—只涉及除布尔类型外的7种数据类型

  • 当数据类型范围大的变量和数据类型范围小的变量进行混合运算时,结果自动提升为大的那个变量.(具体原因上一篇有讲)
 		long a=12;
        int b=a+2;

在这里插入图片描述

  • 特别地的是,byte,char,short,三种基本数据类型的字节数在4字节以下,所以当它们进行运算时,为了适应CPU,会自动转换成int.

2:强制类型转换(有风险)

//格式:
数据类型a 变量名=(目标类型) (被转换的变量/数据)

🎊以上就是第3站的所有知识点了~希望对大家有所帮助.
如果有用,还请关注+三连.您的关注和三连能给瑶瑶子带来无穷的动力~~~
🌻可以订阅专栏爪洼岛冒险记(free),和瑶瑶子一起,穿梭Java岛,学习java,一起努力,从小白变大牛~🙇‍♀️

往期blog回顾:

  1. 【爪洼岛冒险记】第2站
  2. 【爪洼岛冒险记】第1站
    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142464.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!