常见运算符基本分类:
1.算术运算符
2.关系运算符
- 逻辑运算符
4.赋值运算符
5.其他运算符
算术运算符(数据存放在内存中,供cpu计算)
包含如下:
+ : 加法运算符,也可作为字符串拼接符
- : 减法运算符,也可作为求负运算符
* : 乘法运算符
/ : 除法运算符(int类型的数相除,会得到int类型的值,
如果相除结果 有小数,则小数部分被舍弃即商取整)
% : 模余运算符,取余数,左边操作符除右边操作数的余
数
++ : 单目运算符,自增,变量的值加1
--: 单目运算符 ,自减,变量值减1
注意: 为了增加代码的可读性,单目运算符可以增加括号
其他复杂运算符,参见api的math类,math类有非常多的静态方法,可以完成非常复杂的运算
单目运算符代码示例1如下:
int a = 1;
int b = a++;//先把a的值赋值给b,然后a再自加1,此时内存中a变成了2,b是1
System.out.println(a++);//输出是2,此时内存中a又变成了3
System.out.println(b);//1
System.out.println(a);//3
上面代码打印结果如下:
2
1
3
单目运算符代码示例2如下:
int a = 1;
int b = ++a;//a先加1然后赋值给b,所以内存中,a,b都是1
System.out.println(b);//输出1
System.out.println(++a);//a先加1,所以内存中a是2
自减也是一样的,所以不再举例
总结:
如果操作数在前面,那么会先使用操作数,然后再计算
如果操作数在后面,那么会先计算,再使用
关系运算符(也叫比较运算符)
image.png代码示例如下:
int a = 3;
int b = 4;
boolean flag = a <= b;//满足其中一个条件即为真
System.out.println(flag);
打印结果如下:
true
赋值运算符
包含普通赋值运算符和增强赋值运算符
image.png
逻辑运算符
image.png&&: 与
| : 或
int a = 1;
int b = 2;
int c = 3;
boolean flag1 = (a > b) && (b > c);
boolean flag2 = (a > b) & (b > c);
boolean flag3 = a > b & b > c;
boolean flag4 = (a > b) | (b < c);
boolean flag5 = (a > b) || (b < c);
System.out.println(flag1);
System.out.println(flag2);
System.out.println(flag3);
System.out.println(flag4);
System.out.println(flag5);
代码执行结果如下:
false
false
false
true
true
上述代码中,一个&和两个&&,一个|和两个 || 也是代码执行结果是一样的。那么区别是什么呢?
a>b&&b>c 加括号和不加括号都行,但是为了可读性,可以加上括号
总结:
与计算:结果同为真,结果才为真
或计算:结果有一个为真则为真
&&和||叫短路与和短路或,意思是:第一个操作数结果如果可以判定整个运算结果,那么就不会再看下一个操作数了。
如下图,有黄色波浪线的提示: unused死代码
双与:第一个为假,后面就不用判断了
双或:第一个为真,后面就不用判断了
image.png
网友评论