一、运算符的分类
1.算数运算符:+、-、*、/,这些运算符与数学的算数运算规则一样。%:取余,如8%3:商2余2,那么取余为2。
注意:如果做/运算,分为以下几种情况:
i。除数与被除数都为整数,那么结果也为整数。
ii。除数与被除数中有一个为小数,那么结果也为小数。
总结一:主要根据隐式转换规则计算结果。
总结二:%运算公式:a%b=a-a/b*b
2.字符(char)运算符的+操作
前至知识点:计算机中对数据的存储都是以字节的形式进行存储与计算,但是如果我们也以这种方式进行存储与计算会非常繁琐,比如:a+1,如果需要计算出结果,那么我们就要知道a字符的字节,从哪里知晓呢?答案是ASCII码表,其是计算机中字节到字符的一套对应关系。
由于每次的计算都要查找过于繁琐,所以运算过程中,char类型自动转换为int类型,其值会自动转化为ASCII表中对应的(字节)数字进行运算。
3.字符串运算符的+操作:遇到字符串,运算过程中数据会进行连接。如:a+"1"=a1;
注意:运算是从左至右,如:1+99+"666"=100+"666"=100666;
4.自增自减运算符(++,--)
总结:
i。前++:变量本身先+1再参与操作
ii。后++:先参与操作再让变量本身+1
iii。单独使用时,无论是前++还是后++都对变量本身+1且二者结果一致。如1++与++1单独使用时,结果都是2。
注意:常量不能进行自增自减操作(常量是在程序运行期间不能被改变的量,而自增自减操作则是改变变量的值,使得该变量的值在程序运行期间发生变化。因此,常量不能进行自增自减操作。)
5.赋值运算符:+=,-=,\=,%=,=
总结:
i。运算方式与算数运算符一致
ii。自带强制转换,不用担心报错:Error:java: 不兼容的类型: 从xxx转换到xxx可能会有损失
6.关系运算符:>,<,>=,<=,!=,==(大于,小于,大于等于,小于等于,不等于,等于:值是否相等)。这些运算符与数学的算数运算规则一样。
7.逻辑运算符:&(与),|(或),!(非),^(异或)
总结:
i。结果总结
&:有false为false,全true为true
|:有true为true,全false为false
!:结果变true为false,变false为true(结果取反)
^:相同为false,不同为true
8.短路逻辑运算符:&&(短路与),||(短路或)
总结:与逻辑运算符的结果总结一致
注意:短路与逻辑运算符的区别
i。逻辑是单个(复杂),短路是双个(简单)。
ii。逻辑两边的表达式都要算,无论左边是true或false。短路&&左边表达式结果有false不执行右边表达式,短路||左边表达式结果有true不执行右边表达式。