java基础运算
java的基础运算要分为三类:
- 算术运算:主要是日常的加减乘除。
- 比较运算:主要是日常的大小比较。
- 逻辑运算:针对布尔值进行运算。
算术运算符
算术运算符有加、减、乘、除,符号分别是+、-、 * 、/,另外还有取模运算符%,以及自增(++)和自减(--)运算符。
加 ( +)
减 ( - )
乘 ( * )
除 ( / )
这里的加减乘除运算基本上和数学常识一样没有区别比较好理解。
取余
取模(%)就是数学中的求余数,例如,5%3是2,10%5是0。
自增自减
自增/自减是对自己做加1或减1操作,但每个都有两种形式,一种是放在变量后,例如a++、a--,另一种是放在变量前,例如++a、--a。区别在于放在变量后(a++)是先用原来的值进行其他操作,然后再对自己做修改,而放在变量前(++a)是先对自己做修改,再用修改后的值进行其他操作。
++在前面
//先赋值后执行
int x=1;
int y=++x;
//这里y的结果是2,x的结果是2.
//先赋值后执行,先进行++等于x=x+1,此时的x结果就为2再将x赋值给y,所有y的结果也为2.
++在后面
//先执行后赋值
int x=1;
int y=x++;
//这里y的有结果为1,x的结果为2。
//先执行后赋值,先将x赋值给y,此时y就等于1了然后x再去++等于x=x+1,所以x等于2;
自减和自增的运算方式是一样的,一个是先自身减去1在执行其他运算操作,一个是先执行完其他运算操作后在自身减1。
比较运算符
比较运算就是计算两个值之间的关系,结果是一个布尔类型(boolean)的值。
比较操作符有大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(! =)。
逻辑运算
- 与(&):两个都为true才是true,只要有一个是false就是false;
- 或(|):只要有一个为true就是true,都是false才是false;
- 非(!):针对一个变量,true会变成false, false会变成true;
- 异或(^):两个相同为false,两个不相同为true;
- 短路与(&&):两个都为true才是true,只要有一个是false就是false;
- 短路或(||):与|类似,只要有一个为true就是true,都是false才是false;
逻辑运算的大部分都是比较直观的,需要注意的是&和&&,以及|和||的区别
&与|执行完两边表达式,&&与||只要得出结果就不继续执行
|与||的区别
|用法
boolean b=true;
int a=1;
boolean flag= b|a++>0
a的结果等于2,当b为真后flag的结果为true但还会继续去执行a
||用法
boolean b=true;
int a=1;
boolean flag= b||a++>0
a的结果等于1,当b为真后flag的结果为true不会继续去执行a。(理解为满足条件后就“短路”了,不继续执行)