本篇目主要介绍程序中常用的运算符,以及使用过程中一些注意事项。话不多说,整起;
算术运算符
符号:+(正)、-(负)、+(加)、-(减)、*(乘)、/(除)、++(自增)、
- - (自减)、%(取模/取余)
对于前面这些运算符也没什么好说的,这里特别要注意的是 “ + ” 可能作为连接符使用,详情请查看博客String 类型变量;
- 自增(++):(自减与自增具有相同的性质,即将自增改为自减即可)
(1)前++ 即++a:先自增 1,后运算;
(2)后++ 即a++:先运算,后自增 1;
例1
int m=4;
int n;
n=++m;//先自增+1,再 将值赋给 n 输出 5
n=m++;//先运算,将 m 的值赋给 n 再自增+1 输出 4
注:自增自减不改变变量的数据类型
赋值运算符
符号:= (赋值)
扩展:+=、- =、*=、 /=、%=
例2(对扩展赋值运算符的解释)
int a=4;//将 4 赋 给 a
int b=5;
a*=b;// 相当于a=a*b; 输出为 20
a*=b++;// a=a*b++; 根据自增性质可知,b先与a相乘,再自增,输出为 20
练习:
int n=10;
n+=(n++)+(++n);
System.out.println(n);
输出结果是几呢?评论区看你答案
比较运算符
符号:==(相当于数学中的等于)、!=(不等于)、>(大于)、<(小于)、
<=(小于等于)、>=(大于等于)
instanceof(检查是否是类的对象)(后面的学习中会遇到,此处就了解一下就好啦)
比较运算符中值得注意的是:
区分 = 和 == 注意写的时候不要写错哟
逻辑运算符
符号: & (逻辑与)、|(逻辑或)、!(逻辑非)
&&(短路与)、||(短路或)、^(逻辑异或)
1.区分 &与&&( | 与 || ):
相同点:
①运算结果相同;
②当符号左边为true时,二者都会执行符号右边的运算;
不同点:
①当符号左边为false时,& / | 会执行符号右边的运算,而 && / || 不会执行符号右边的运算;
2. ^ 逻辑异或 :同为假,异为真;
3. 注:适用于boolean 类型变量;(与位运算符区别)
位运算符
符号:<< (左移)、>>(右移)、>>>(无符号右移)、&(与运算)、
|(或运算)、^ (异或运算)、~(取反运算)
注:位运算符直接对整型运算
结论:
① 在一定范围内,二进制数 a 每左移一位,a就乘以2,每右移一位,a就除以2(最高位为 0补 0,为1 补1);
②>>> 最高位无论是 1 还是0,空缺都补 0;
③& 、|、^ 通过实例来演示:
④取反运算
运算符优先级
上述优先级,上一行总是优先于下一行;
这里所列出来的优先级表,我们都不需要进行记忆,我们知道小括号优先级最高,在开发中,我们要想先运算哪个,就加上小括号就可以了;
三元运算符
结构:(条件表达式)?表达式1:表达式2;
1.条件表达式的结果为boolean类型;
2.根据条件表达式的真假决定
①条件表达式为true 执行表达式1
②条件表达式为false 执行表达式2
注:表达式1和表达式2可统一为同一类型
3.三元运算符可嵌套
4.凡是可以用三元运算符的,都可以改为if else ;不一定可逆;
- 常用来求两个数中的最大值
int m=12;
int n=4;
int max=(m>n)?m:n;
System.out.println(max)
到这,运算符的知识点就结束了,整理编辑不易,看完不要忘了点赞哦!