Java中的运算符
- 逻辑运算符
&:逻辑与(并且)只有所有条件都为true,整个结果才是true
|: 逻辑非(或者) 只要有一个条件为true,整个结果就是true
^: 逻辑异或 (只要两边结果相同,那么整个结果就是false。只有两边结果不同,整个结果才是true)
!: 逻辑非(非true这false,非false则true)
&&:短路与(执行结果和&是一样的,如果左边是false,右边就不再执行了。如果左边是true,右边也会继续执行。)
||:短路或(执行结果和|是一样的,如果左边是true,右边就不再执行了。如果左边是false,右边也会继续执行)
注意事项:
逻辑运算符它的左右两边必须是比较表达式
逻辑运算符最终结果也是布尔类型的
public class Deom05{
public static void main(String[ ] args){
int x=0;
int y=0;
int z=0;
boolean a,b;
a=x>0 & y++>1;
System.out.printIn(a);
System.out.printIn("y="+y)
b=x>0 && z++>1;
System.out.printIn(a);
System.out.printIn("z="+z);
}
}
- 位运算符
&:位与
|:位或
^:位异或
~:取反
<<:左移
“>>”:右移
" >>>":无符号右移(不考虑符号位) - 条件运算符
三元运算符
定义格式:
(比较表达式)?表达式1:表达式2;
执行流程:
判断比较表达式,如果是true。那么就执行表达式1
如果是false,那么就执行表达式2
public class Deom06{
public static void main(String[ ] args){
int num1=10;
int num 2=20;
//需求:获取num1和num2的最大值
int max=(num1>num2)?num1:num2;
System.out.printIn(max);
}
}
- 选择结构语句
if语句的第一种格式
1、if(比较表达式){
语句体;
}
2、if语句的第二种格式;
if(比较表达式){
语句体1;
}else
语句体2;
}
public class Deom07{
public statis void main(String[ ] args){
//判断一个数是不是偶数
int num=4;
if(num % 2==0){
System.out.printIn(num+“是一个偶数");
}else{
System.out.printIn(num+"是一个奇数");
}
}
3、if语句的第三种格式:
if(){
语句体1;
}else if(){
语句体2;
}else if(){
语句体3;
}else {
语句体n;
}
练习题
需求:一年有12个月。4个季节
3——5是春季
6——8是夏季
9——11是秋季
12———2是冬季
给出一个月份,判断输出对应月份。
public class Test{
public statis void main(String[ ] args){
int month=8;
if(month>= 3 && month <= 5){
System.out.printIn(month+“是春季");
}else if(month>= 6 && month <= 8){
System.out.printIn(month+"是夏季");
}else if(month >=9 &&month <=11){
System.out.printIn(month+"是秋季");
}else if(month ==12 || month ==1 || month==2){
System.out.printIn(month+"是冬季");
}else{
System.out.printIn("当前的月份不合法");
}
}