运算符
🎆.算数运算符
基本四则运算符:加减乘除模(+ - * / %)
除法(/)
publicclassTest{publicstaticvoidmain(Sting[] args){//来来来 我们来用除法来求下面的代码。。System.out.println(5/2);//2System.out.println((float)5/2);//2.5System.out.println(5/(float)2);//2.5System.out.println((float)(5/2));//2.0}}
我们再来看一下算数异常
publicclassMain{publicstaticvoidmain(Sting[] args){System.out.println(5/0);}}
🔷对于整数 a b取模了解一下
1.求整数商(/) c=a/b
2.取模(%)==a-c*b
publicclassMain{publicstaticvoidmain(Sting[] args){int a=10;int b=3;System.out.println(a%b);//==a-(a/b)*b==10-3*3=1System.out.println(a%-b);//==10-(-3)*(-3)=1System.out.println(-a%b);//==(-10)-(-3)*3=-1System.out.println(-a%-b);//==(-10)-3*(-3)=-1}}
🎆🎆.增量运算符 += -= *= %=
publicclassMain{publicstaticvoidmain(Sting[] args){short s1=10;//s1=(short)(s1+1);
s1+=1;//这个+=可以帮我们进行强制类型转换System.out.println(s1);}}
🎆🎆🎆.自增和自减++a a++ --a a–
publicclassMain{publicstaticvoidmain(Sting[] args){int a =1;
a++;// 后置++ 表示给a的值加1,此时a的值为2System.out.println(a++);// 注意:后置++是先使用变量原来值,表示式结束时给变量+1,因此输出2System.out.println(a);// 输出3s++a;// 前置++ 表示给a的值加1System.out.println(++a);// 注意:前置++是先给变量+1,然后使用变量中的值,因此输出5System.out.println(a);// 输出5// --操作符给操作-1,与++含义类似}}
注意:混合使用时【前置】++先+1然后使用变量+1之后的值 ,【后置】先使用变量原来的值表达式结束时给变量。
🎆🎆🎆🎆.关系运算符
注意:关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false 。
publicclassMain{publicstaticvoidmain(Sting[] args){int x =10;int y =20;// 注意:在Java中 = 表示赋值,要与数学中的含义区分// 在Java中 == 表示相等System.out.println(x == y);// falseSystem.out.println(x != y);// trueSystem.out.println(x < y);// trueSystem.out.println(x > y);// falseSystem.out.println(x <= y);// trueSystem.out.println(x >= y);// false}}
🎆🎆🎆🎆🎆.逻辑运算符
逻辑运算符主要有三个: && || ! ,运算结果都是 boolean类型。
**1.逻辑与 并且的意思&&(全为真则真) **
语法规则:表达式1 && 表达式2,左右表达式必须是boolean类型的结果。
🆘这个也称短路与(就是表达式1假时就不会执行表达式2)
publicclassMain{publicstaticvoidmain(Sting[] args){int a =1;int b =2;System.out.println(a ==1&& b ==2);// 左为真 且 右为真 则结果为真System.out.println(a ==1&& b >100);// 左为真 但 右为假 则结果为假System.out.println(a >100&& b ==2);// 左为假 但 右为真 则结果为假System.out.println(a >100&& b >100);// 左为假 且 右为假 则结果为假}}
2.逻辑或|| 或的意思(全假为假)
语法规则:表达式1 || 表达式2,左右表达式必须是boolean类型的结果。
🆘这个也称短路或就是表达式1为真时就不会执行表达式2
3.逻辑非 !(真变假 假变真)
注意:后面必须是布尔表达式
🎆🎆🎆🎆🎆🎆位运算符(针对的是比特位)
&:按位与 (对应位都为1则为1)
00110100-----------0111|:按位或 (对应位为有一个为一则为1)00110100------------0111^:按位异或 (对应位一样时为0不一样时为1)
00110100-------------0111
🎆🎆🎆🎆🎆🎆🎆移位运算符(针对的是比特位)
左移:<<(补零)
11:0000101111<<1==>00010110(11*2^1)=2211<<2==>00101100(11*2^2)=44
我们可以发现左移一位变为22两位变44他们成倍数的变化
右移:<<(补零)11:0000101111>>1==>00000101 可以看成(11/2^1)=511>>2==>00000010 可以看成(11/2^2)=2
我们可以发现右移某次相当于除上几次
无符号右移:>>> 不管符号位是0还是1 统统补零
🎆🎆🎆🎆🎆🎆🎆🎆条件运算符(三木运算符)
条件运算符只有一个:
表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值;
当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.
号右移:>>> 不管符号位是0还是1 统统补零
#### 🎆🎆🎆🎆🎆🎆🎆🎆条件运算符(三木运算符)
**条件运算符只有一个:**
**表达式1 ? 表达式2 : 表达式3**
**当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值;**
**当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.**
# 标题
版权归原作者 学习代码的懒羊羊 所有, 如有侵权,请联系我们删除。