1.关系运算符
主要功能:进行数据的大小关系比较,返回的结果是boolean型数据(True or False)
// 关系运算符
public class TestDemo{
public static void main(String[] args) {
System.out.println(3 > 1);
System.out.println(3 < 1);
System.out.println(3 >= 1);
System.out.println(3 <= 1);
System.out.println(3 == 1);
System.out.println(3 != 1);
}
}
true
false
true
false
false
true
2.数学运算符:四则运算、求模、自增
// 数学运算符
public class TestDemo{
public static void main(String[] args) {
int numA = 10, numB = 20;
System.out.println("加法: " + (numA + numB));
System.out.println("减法: " + (numA - numB));
System.out.println("乘法: " + (numA * numB));
System.out.println("除法: " + (numA / (double)numB));
System.out.println("求模: " + (numA % 3);
}
}
加法: 30
减法: -10
乘法: 200
除法: 0.5
求模: 1
3.简化运算符
// 简化运算符
public class TestDemo{
public static void main(String[] args) {
int numA = 10, numB = 10,numC = 20;
int result1 = ++numA + numC; // 自增在前,表示先对变量加一后再运算
int reslut2 = numB++ + numC; // 自增在后,表示运算后再对变量加一
System.out.println("reslut1 = " + result1);
System.out.println("resuly2 = " + reslut2);
}
}
4.三目运算符:以一个布尔表达式的结果进行赋值,基本语法结构如下:
数据类型 变量 = 布尔表达式 ? 满足时设置的内容 : 不满足时设置的内容
// 三目运算符
public class TestDemo{
public static void main(String[] args) {
int numA = 10, numB = 20;
int max = numA > numB ? numA : numB;
System.out.println(max);
}
}
20
5.逻辑运算
—>与操作:分为&(普通与)、&&(短路与)
// 逻辑运算
public class TestDemo{
public static void main(String[] args) {
if ((1 == 2) & (10 / 0 == 0))
{
System.out.println("Hello world!");
}
}
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
at TestDemo.main(TestDemo.java:4)
对于普通&操作,会判断每一个条件,由于10 / 0导致了程序发生错误
// 逻辑运算
public class TestDemo{
public static void main(String[] args) {
if ((1 == 2) && (10 / 0 == 0))
{
System.out.println("Hello world!");
}
}
}
对于短路&&操作,由于第一个条件被判断为false,因此后面所有的条件不再判断,程序没有输出错误信息
—>或操作:只要有条件满足,就返回true,分为普通或| 和短路或||
// 逻辑运算
public class TestDemo{
public static void main(String[] args) {
if ((1 == 1) | (10 / 0 == 0))
{
System.out.println("Hello world!");
}
}
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
at TestDemo.main(TestDemo.java:4)
|操作仍然返回了错误信息,这和与操作保持一致
// 逻辑运算
public class TestDemo{
public static void main(String[] args) {
if ((1 == 1) || (10 / 0 == 0))
{
System.out.println("Hello world!");
}
}
}
Hello world!
注:在考虑性能问题时,应优先考虑短路与和短路或操作