本文主要对Java中以下运算符进行讲解:赋值运算符、算术运算符、自增自减运算符、比较运算符、逻辑运算符、位运算符、三元运算符。
赋值运算符用“=”表示,将右边操作数的值赋给左边的操作数,“=”左边必须是变量,“=”右边可以是任何数值或表达式。
代码样例展示:
public class TestMainCLass {
public static void main(String[] args) {
int num01=300;
int num02=400;
int num03=num02-num01;
System.out.println("num01="+num01);
System.out.println("num02="+num02);
System.out.println("num03="+num03);
}
}
运行结果如下图:
算术运算符包括加“+”、减“-”,乘“*”、除“/”、求余“%”,都是二元运算符,其中,加“+”和减“-”可作为正负符号使用。
代码样例展示:
public class TestMainCLass {
public static void main(String[] args) {
int num01=100+200;
int num02=400-300;
int num03=num01+num02;
int num04=num01*num03;
int num05=num01/num03;
int num06=-600;
int num07=+700;
System.out.println("num01="+num01);
System.out.println("num02="+num02);
System.out.println("num03="+num03);
System.out.println("num04="+num04);
System.out.println("num05="+num05);
System.out.println("num06="+num06);
System.out.println("num07="+num07);
}
}
运行结果如下图:
自增和自减运算符都是单目运算符,放在操作数的前面或后面都可以,操作数必须是一个整型或浮点型变量,自增或自减运算符若放在操作数前面,会先将变量的值加1或减1,再让该变量参与表达式的运算,自增或自减运算符若放在操作数后面,会先让该变量参与表达式的运算,再将变量的值加1或减1。
代码样例展示:
public class TestMainCLass {
public static void main(String[] args) {
int num01=1;
System.out.println("num01="+num01);
int num02=++num01;
System.out.println("num01="+num01+",num02="+num02);
int num03=num01++;
System.out.println("num01="+num01+",num03="+num03);
int num04=--num01;
System.out.println("num01="+num01+",num04="+num04);
int num05=num01--;
System.out.println("num01="+num01+",num05="+num05);
}
}
运行结果如下图:
比较运算符属于二元运算符,用于变量、常量、各种表达式之间的比较,运算结果是布尔型,比较运算符对应的关系成立时,运算结果为true,不成立时,运算结果为false。
主要有以下比较运算符:
代码样例展示:
public class TestMainCLass {
public static void main(String[] args) {
int num01=1;
int num02=2;
System.out.println("num01>num02:"+(num01>num02));
System.out.println("num01=num02:"+(num01>=num02));
System.out.println("num01<=num02:"+(num01<=num02));
System.out.println("num01!=num02:"+(num01!=num02));
}
}
运行结果如下图:
逻辑运算符包括逻辑与(“&&”或“&”)、逻辑或(“||”或“|”)、逻辑非(“!”),返回值为布尔型,操作元也必须是布尔型,相比于比较运算符,逻辑运算符可以表示更加复杂的条件,可以连接多个关系表达式进行运算,在逻辑运算符中,逻辑非(“!”)是一元运算符,其他都是二元运算符。
各逻辑运算符说明:
备注:逻辑运算符“&&”和“&”都表示逻辑与,区别在于,“&”会对两个表达式都进行判断,而“&&”若判断出第一个表达式为false,则不会再判断第二个表达式,因此使用“&&”会提升效率,同样,“||”和“|”的区别也在于此。
代码样例展示:
public class TestMainCLass {
public static void main(String[] args) {
int num01=1;
int num02=2;
System.out.println("((num01>num02)&&(num01num02)&&(num01num02)&(num01num02)&(num01num02)):"+((num01num02)));
System.out.println("((num01num02)):"+((num01num02)));
System.out.println("((num01>num02)||(num01>=num02)):"+((num01>num02)||(num01>=num02)));
System.out.println("((num01>num02)|(num01>=num02)):"+((num01>num02)|(num01>=num02)));
System.out.println("!(num01>num02):"+!(num01>num02));
}
}
运行结果如下图:
位运算符用于处理整型和字符型数据,位运算符如下所示:
代码样例展示:
public class TestMainCLass {
public static void main(String[] args) {
System.out.println("3&3:"+(3&3));
System.out.println("3|3:"+(3|3));
System.out.println("~3:"+(~3));
System.out.println("~-3:"+(~-3));
System.out.println("24<<1:"+(24<<1));
System.out.println("24>>1:"+(24>>1));
}
}
运行结果如下图:
三元运算符是三目运算符,格式为:操作数1?操作数2:操作数3,有三个操作元,第一个操作元是条件表达式,条件表达式结果为true时,就取第二个操作元的值,条件表达式结果为false时,就取第三个操作元的值。
代码样例展示:
public class TestMainCLass {
public static void main(String[] args) {
System.out.println("【1<2?\"1小于2\":\"1大于2\"】结果为:"+(1<2?"1小于2":"1大于2"));
System.out.println("【1==1?true:false】结果为:"+(1==1?true:false));
}
}
运行结果如下图:
运算符优先级如下按从高到低排列:
若两个运算的优先级相同,则优先处理左边的表达式。