算术运算符总类
package AriTest;
public class AirTest {
public static void main(String[] args) {
// 前++ 先自增1 后运算
// 后++ 先运算 后增加
int a=8;
int b =++a;
System.out.println("b = " + b);
int c=8;
int d=c++;
System.out.println("d = " + d);
}
}
结果
这里注意的是 ++不会影响数据类型
赋值运算符
比较运算符号
逻辑运算符
& 和 && (逻辑与 和短路与)
public static void main(String[] args) {
// & 和 && 区别
boolean a = true;
int num = 5;
if (a & (num++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("num = " + num);
System.out.println("-----------------我是分隔符---------------");
boolean b= true;
int nums = 5;
if (b && (nums++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("nums = " + nums);
// 当a , b 都为 true 的时候 不管是 & 或者是 && 都会执行 num++ & && 后面的操作也就是 (第一个为true & && 都执行后面的操作)
// 如下结果
}
结果
public static void main(String[] args) {
// & 和 && 区别
boolean a = false;
int num = 5;
if (a & (num++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("num = " + num);
System.out.println("-----------------我是分隔符---------------");
boolean b= false;
int nums = 5;
if (b && (nums++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("nums = " + nums);
// 当a , b 都为 false 的时候 (& 会把后面的也执行 && 直接不执行后面的 第一个是错直接后面就不执行)
// 结果如下
}
总结
- 相同点 & 和 && 的运算结果相同
- 相同点2 当符号左边都是 true 的时候 二者都会执行右边的运算
- 不同点 当符号左边是false 时 & 继续执行符号右边的运算 && 不执行
逻辑或 短路或 | |,|
public static void main(String[] args) {
// |和 || 区别
boolean a = true;
int num = 5;
if (a | (num++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("num = " + num);
System.out.println("-----------------我是分隔符---------------");
boolean b= true;
int nums = 5;
if (b || (nums++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("nums = " + nums);
}
public static void main(String[] args) {
// |和 || 区别
boolean a = true;
a=false;
int num = 5;
if (a | (num++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("num = " + num);
System.out.println("-----------------我是分隔符---------------");
boolean b= true;
b=false;
int nums = 5;
if (b || (nums++ > 0)) {
System.out.println("我是冯娇娇");
} else {
System.out.println("我是 Amy");
}
System.out.println("nums = " + nums);
}
结论
- 区别 | 和 ||
- 相同点 | 与 || 的运算结果相同
- 相同点 当符号左边是false 时 二者都会执行符号右边的运算
- 相同点 当符号左边是 true | 会继续执行符号右边的运算 而 || 不在执行符号右边的运算