Java基础(三):运算符
Java的运算符主要包括算数运算符赋值运算符比较运算符逻辑运算符位运算符与条件运算符。1.算数运算符1.1加减乘除算术运算符主要是做加减乘除取模。加减乘除自然不必多说我们来介绍一下取模。1.2取模取模运算符%是编程基础运算符之一用来计算两数相除后的余数奇偶判断、循环轮询、数字截取等功能都依赖它是开发高频工具。比如要判断一个数字的奇偶可以模2余1为奇余0为偶。取模还可以拆分数字例567 567 % 10 7567 / 10 5656 % 10 6 56 / 10 55 % 10 51.3自增自减符1.如果单独使用自增自减没有任何区别。不论是i;还是i都是对i进行1。2.如果混合使用比如i1ji和ji那么i的自增就会影响j的值。ji;是j先等于i然后i再也就是j1i2。ji;是i先然后j再取i的值也就是i2j2。2.赋值运算符写代码时我们总离不开存数据赋值运算符就是装载数值的工具。a是变量a5就是将5放入变量a里面。而后面的-等属于复合赋值运算符本质上就是简写语法等价于以下写法。3.比较运算符比较运算符只需要记住是否定的意思也就是不等于。记住了这个剩下的比较运算符也就信手拈来啦。。4.逻辑运算符逻辑运算符是针对两个布尔类型。4.1逻辑与逻辑与对于两个布尔类型可以理解为前者和后者同时满足整体才是true。如果前者就不满足那么语法上就会直接结束这个语句。不执行后者。如图所示a3已经返回的是false那么a将不会执行也就是说a最终的结果仍然是5。4.2逻辑或||逻辑或对于两个布尔类型可以简单理解为只需要前者或后者满足就能返回true。但同样的和逻辑与运算符类似如果前者语句满足条件返回true那么系统就会默认整体语句为真后者直接执行。如图所示前者为真的情况下就算后者为假num也依旧执行。4.3逻辑非逻辑非的作用主要是取反。常见用法是判空。。5.按位运算符按位运算符主要是针对二进制数值5.1按位与按位与针对两数字的二进制形式对应位全1才为1有0就是0。清除二进制某一位。比如350000 0011-----------最终结果是0000 00010000 0101 也就是1他的使用场景主要有1.判断奇偶n1结果1是奇数0 是偶数。2.清除二进制某一位。5.2按位或按位与针对两数字的二进制形式对应位全0才为0有1就是1。比如3|50000 0011---------------最终结果是0000 01110000 0101 也就是75.3按位异或按位与针对两数字的二进制形式对应相位相同为0不同为1。比如3^50000 0011---------------最终结果是0000 01100000 0101 也就是6使用场景1.判断两数字是否相同n^n0。2.n^0n。5.4按位取反按位与针对单一数字的二进制形式把每一位1变成00变成1。5.5左移运算符和右移运算符(和)左移运算符按位与针对单一数字的二进制形式将所有比特位向左移动1位最右边补0。向左移一位就相当于乘以2。右移运算符按位与针对单一数字的二进制形式将所有比特位向右移动最左边补符号位。向右移一位就相当于除以2。5.6无符号右移无符号右移不论正数还是负数左边统一补0。因为右边没有符号位所以没有无符号左移。6.条件运算符条件运算符只有⼀个:表达式1 ?表达式2 :表达式3表达式1为true,输出表达式2表达式1为false输出表达式37.运算符的优先级在一条表达式中各个运算符可以混合起来进行运算但是运算符的优先级不同 比如 * 和 / 的优先级要高于 和 - 有些情况下稍不注意可能就会造成很大的麻烦。注意运算符之间是有优先级的. 具体的规则我们不必记忆. 在可能存在歧义的代码中加上括号即可。。。。