前言
上一篇我们讲了运算符前三个:算术运算符,赋值运算符,比较运算符,这一篇呢,我们讲剩下的三个运算符,代码量还会比之前多一些,但是我的每一步还是会有代码演示,兄弟们完全放心,跟着我走即可,就是为了兄弟们学习起来轻松,还是那句话,兄弟们动起手来,我们一起在java世界里历险,废话不多说,咱们往下看!!!
一.介绍
在java中我们要进行大量的运算,java中也为我们提供了大量的运算符,我们常用的运算符有那些呢,下面我们来一一的给大家介绍一下。
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。运算符大致可以分为5种类型:算术运算符、条件运算符、关系运算符、赋值运算符和逻辑运算符。
我们的2-4小节,在上一文章中有详细介绍,我详细拆分了每一个细节,为的就是每个细节都给大家呈现出来!
二.知识点介绍
1、运算符概念
2、算术运算符
3、赋值运算符
4、比较运算符
5、逻辑运算符
6、三元运算符
7、运算符优先级
8、Debug详解
三.知识详解
1、运算符概念
运算符是用来计算数据的指令。数据可以是常量,也可以是变量。被运算符操作的数成为操作数。
例如:
2、逻辑运算符
用于计算两个布尔值经过指定逻辑后的运算结果,结果同样是一个布尔值
运算符 | 运算规则 | 范例 | 结果 |
& | 与(并且) | false&true | False |
| | 或 | false|true | True |
^ | 异或 | true^flase | True |
! | 非(取反) | !true | Flase |
&& | 短路与 | false&&true | False |
|| | 短路或 | true ||true | True |
作用:逻辑运算符用于连接布尔型表达式,在Java中不可以写成33 && x<6 。
基本使用: &(与),|(或),^(异或),!(非)
- 与:& 有false则false
- 或:| 有true则true
- 异或:^ 相同则false,不同则true
- 非:! true则false,false则true
代码演示:
&&和&的区别
&是叫按位与,即在运算符号两边的表达式的结果都为“正确”时,那结果就是正确的;在运算符号两边的表达式的结果只要有一个为“错误”那结果就是错误的。
&&是叫短路与,也叫逻辑与,相当于“和”的意思。
单&时:左边无论真假,右边都进行运算;
双&时:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
代码演示:
3、 三元运算符
接下来我们要学习的三元运算符与之前的运算符不同。之前学习的均为一元或者二元运算符。元即参与运算的数据。格式:(条件表达式)?表达式1:表达式2;
表达式:通俗的说,即通过使用运算符将操作数联系起来的式子,例如:3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式。
3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式。其他表达式,感兴趣的兄弟们下去可以再扩充一下,我就不再一一举例。
三元运算符运算规则:
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
注意:
三元运算符,最终一定会产生一个结果值,这个值必须被使用起来。要么被运算符使用,要么被打印
格式:
(条件表达式) ? 表达式1 : 表达式2;
执行流程:
- 首先判断条件表达式是否成立
- true:表达式1作为3元运算符的结果
- false:表达式2作为3元运算符的结果
代码演示:
4、运算符优先级
4.1、优先级概念
运算符运算的先后顺序,优先级越高(数字越小),计算顺序越靠前。
4.2、优先级规则
优先级相同的情况下,按照从左到右的顺序依次运算
优先级 | 描述 | 运算符 |
1 | 括号 | ()、[] |
2 | 正负号 | +、- |
3 | 自增自减,非 | ++、--、! |
4 | 乘除,取余 | *、/、% |
5 | 加减 | +、- |
6 | 移位运算 | <<、>>、>>> |
7 | 大小关系 | >、>=、<、<= |
8 | 相等关系 | ==、!= |
9 | 按位与 | & |
10 | 按位异或 | ^ |
11 | 按位或 | | |
12 | 逻辑与 | && |
13 | 逻辑或 | || |
14 | 条件运算 | ?: |
15 | 赋值运算 | =、+=、-=、*=、/=、%= |
16 | 位赋值运算 | &=、|=、<<=、>>=、>>>= |
四.debug测试
测试代码的运行和输出结果,是每位开发工程师的必须要会的技能,再牛的大神都会用到debug测试,debug测试不仅能帮助我们熟悉程序运行的过程,更是能帮助我们加深对程序的理解,我们能一步一步更加直观的看到数值之间的传递逻辑。
再加上我们后期的代码会越来越多,不像现在基础期间,我们能一眼看出代码问题的所在,所以debug技能我们必须掌握,为了后面我们能更加熟练掌握程序的运行和排错,今天就和大家聊聊debug的教程。
我们以IDEA开发工具为例,给大家实际演示,其他开发工具也是大同小异,不必担心哈 。
按钮介绍:
我们之前说过正常运行点击“绿色的倒三角”即可,它旁边的小飞虫样子的按钮就是debug模式的启动按钮:
debug启动前,需要我们先设置自己想要的拦截点,与代码平齐的左边框,点击即可出现红点,红点就是标记的断点(拦截点)
提示:在断点调试过程中,是以对象的运行类型来执行的,程序是运行状态.
我们启动debug运行:
1:debug运行状态,表示当前debug模式,可以随时添加断点进行测试
2: 程序运行状态
3:debug控制台,可以显示出来变量值区域
4:从左到右依次是:
Show Execution Point (Alt + F10):你的鼠标光标在其它行,点击这个按钮直接就能跳转到当前在执行的代码行。
Step Over (F8):步过,按照代码一行一行地执行,这一行上如果有方法调用那不会进入方法体。
Step Into (F7):步入,如果当前代码有调用方法,可以进入方法体,一般用来进入自定义方法内。
Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法体,可查看底层源码的方法。
Step Out (Shift + F8):步出,从步入的方法体直接出来,此时方法执行完毕,但是没有完成赋值。
Drop Frame (默认无):回退断点。
Run to Cursor (Alt + F9):运行到鼠标光标处,将光标定位到你需要查看的那一行代码,然后点击按钮,代码会运行至光标所在的代码,而且不需要打断点。
Evaluate Expression (Alt + F8):计算表达式。
5:我们代码执行时变量的变化就在这里能看到,变量,对象都可以。
6:从上往下依次是:
Rerun '***':重新运行程序,关闭掉服务后重新启动程序。
Resume Program (F9):恢复程序,只执行,打断点的代码,没有打断点的地方就直接运行跳过了。
Pause Program:暂停程序,启用Debug。。
Stop '***' (Ctrl + F2):连续按两下,关闭程序服务,停止运行。
View Breakpoints (Ctrl + Shift + F8):查看所有断点。
Mute Breakpoints:灰断点,点击后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。
debug运行效果:
结语:
运算符咱们就聊到这里,分为两篇给大家详细说明,我把每一步的代码和演示都贴在了文章里,兄弟们可以按照我的演示代码自己动手敲一遍,感受一下这个过程,我也从这个阶段走过来过,完全能体会兄弟们的不容易,所以我宁愿麻烦一些也要让每一位初学者最起码看的明白,这样也不枉我费这么大功夫,兄弟们,还是那句话,动起手来,切勿复制粘贴,让学习变得值得!!!