一、运算符概况
java中的全部运算符
像其中的位运算符很少使用,有些运算符比较简单所以总结一些常见的混淆之处,千万不要小看这些基础,编程中大多的错误都是对这些基础理解的不够透彻。
二、算术运算符(++运算符)
- 作用:变量值自加1
1.++可以出现在变量前,也会出现在变量后,结果变量加1
int i =10;
i++;//i=11
++i;//i=11
2.当++出现在变量后,先做赋值运算,再自加1
int m = 10;
int n = m++;//n=10,m=11
3.当++出现在变量前,先做自加1运算,再赋值
int x = 100;
int y = ++x;//x=101,y=101
三、关系运算符
- 作用:比较两个值的关系
注意:
- 1.所有关系运算符,结果都是布尔类型
- 2.两个符号间不能有空格,如>=
- 3.判断两个值相等是==,而不是=
四、逻辑运算符(逻辑与与短路与区别)
逻辑与& 、短路与&&
- 相同:结果完全相同
- 区别:短路与发生短路现象,短路与比逻辑与效率要高
什么是短路
- 使用短路与,当左边表达式为false,右边表达式不执行,称为短路
例子解释短路
先看逻辑与
int x = 10;
int y = 11;
system.out.println(x>y & x>y++);//当x>y为false,整个结果为false,x>y++不需要执行
system.out.println(y);//输出12,证明y++执行了
再看短路与
system.out.println(x>y && x>y++);
system.out.println(y);//输出11,证明y++没有执行
什么时候使用短路与,什么时候使用逻辑与
- 大部分情况使用短路与
- 当两边表达式都需要执行时,使用逻辑与
总结
- &&短路与:当左边表达式为false时,右边表达式不执行
- || 短路或:当左边表达式为true 时,右边表达式不执行
五、赋值运算符
- age=10,代码先执行右边,赋值给左边
- int a=10;int b=a;相当于将a里的值复制一份给了b
- 类似:A a = new A();A c = a;将引用a的地址值赋给c
六、条件运算符
是什么
- 布尔表达式 ?表达式1 :表达式2
执行原理
- 布尔表达式结果true,执行表达式1
- 结果为false,执行表达式2
注意:
boolean sex = true;
sex?'男' : '女';
//编译错误:不是语句
分析
- java不存在单个字面量,即写’男’会报错
改为,char c = sex?‘男’ : ‘女’;
七、字符串拼接运算符+
+的作用
- 求和:两边是数字类型
- 字符串拼接:两边“任意一边”是字符串,结果还是一个字符串
执行顺序
- 当表达式中有多个+时,遵循自左向右的顺序依次执行
- a+ “+” + b+"="+a+b