Java系列
第三章 运算符
思维导图(回顾)
一、算数运算符
Java中算术运算符包括“+,-,*,/,%,++,–”,下面主要介绍+,/,%和++运算符。
(1)+:除了可以进行数学上的加法运算,“+”还可以进行字符串的拼接。
System.out.println(5+6+"7");//11+"7"--->"117" --->117
(2)++:表示自增1。重点是其位置,“++”在前表示时,先加1,再运算;“++”在后表示时,先运算,再加1。
int m = a++ + 7;//先运算 m=a+7 再加1: a = a+1
int n = ++a + 7;//先加1 a=a+1 再运算: n = a+7
(3)/和%:/表示除法,%表示取余。
二、赋值运算符
把右面的值赋给左面。
int num1 = 10;
num1是一个变量,变量的本质是一个存储空间;10是一个常量,所以这个语句表示把10这个常量放入num1这个存储空间中。
交换问题:
num1 = num2;
num2 = num1;
num1和num2相当于指向两个存储空间的指针,第一个语句使得num1指向了num2的存储空间,这个时候num1和num2指向了同一个存储空间,导致第二个语句没有影响,所以最后结果是num1和num2都等于num2的值。所以这里就需要一个暂存num1值的中间变量t。
int t = num2;
num2 = num1;
num1 = t;
最后,a=a+b可以简写为a+=b。
三、关系运算符
关系运算符包括>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于),!=(不等于),这几种运算符最终的结果为true或者false,并且可以自由组合,实现复杂的逻辑。多用于条件判断。
System.out.println((5<9)!=(6==8));//true
四、逻辑运算符
逻辑运算符是针对true和false的运算法,包括
(1)&:与操作,只有两边都是true,结果才是true,其余都是false。
(2)|:或操作,只要两边有一个true,那结果就是true。
(3)&&:高效率的&,即如果左边为false,那么右边就不进行判断了。
(4)||:高效率的|,即如果左边为true,那么右边就不进行判断了。
(5)!:非操作,true变为false,false变为true。
(6)^:两边相同为true,不同为false。
五、条件运算符
简化的if判断的赋值操作,格式为:n=a?b:c。若a为true,那么n=b,若a为false,则n=c。
六、运算符优先级
运算符优先级:赋值<三目<逻辑<关系<算术<单目(只有一个操作数,eg:++)。开发过程中,最后用括号设置优先级,实现复杂的逻辑判断。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了常用的运算符。通过操作数和运算符,可以组成丰富的语义。下一节主要说一下流程控制。