运算符
- Java中支持的运算符:
- 基本运算符: + , -, * ,/, %, ++, --
- 赋值运算符: =
- 扩展赋值运算符:+=, -=, *=, /=
- 关系运算符: >, <, >=, <=, ==, !=
- 逻辑运算符:&&,||,!
- 位运算符:&, |, ^, ~, >>, <<,>>>(了解!)
- 条件运算符: ?
2.赋值运算符:
作用:将等号右侧的值赋给等号左侧
public class Test{
public static void main(String[] args){
//交换数字
int num1=1;
int num2=2;
System.out.println("交换前: "+num1+" "+num2);
//输出交换前的两个数
//引入中间变量
int t;
t = num1;
num1 = num2;
num2 = t;
//输出交换后的两个数:
System.out.println("交换后: "+num1+" "+num2);
}
}
public class Test{
public static void main(String[] args){
//实现三个数求和;
int num1 = 10;
int num2 = 20;
int num3 = 30;
//求和
//int sum = num1+num2+num3;
int sum = 0;
sum += num1;
sum += num2;
sum += num3;
System.out.println("和为: " +sum);
}
}
3.关系运算符:
public class Test{
public static void main(String[] args){
//关系运算符最终的结果都是布尔值
System.out.println(4>9);//false
System.out.println(4<9);//true
System.out.println(4>=9);//false
System.out.println(4<=9);//true
System.out.println(4==9);//false
System.out.println(4!=9);//true
System.out.println((5<9)!=(6==8));//true
}
}
4.逻辑运算符:
进行逻辑运算的,运算符左右连接的都是 布尔类型的操作数,最终表达式的结果是布尔值:要么是true,要么false
public class Test{
public static void main(String[] args){
// 逻辑与 :& 规律:只要有一个操作数是false,那么结果一定是false
System.out.println(true&true);
System.out.println(true&false);
System.out.println(false&false);
System.out.println(false&true);
// 短路与:&& 规律:效率高一些,只要第一个表达式是false,那么第二个表达式就不用计算了,结果一定是false
System.out.println(true&&true);
System.out.println(true&&false);
System.out.println(false&&false);
System.out.println(false&&true);
// 逻辑或:| 规律:只要有一个操作数是true,那么结果一定是true
System.out.println(true|true);
System.out.println(true|false);
System.out.println(false|false);
System.out.println(false|true);
// 短路或:|| 规律:效率高一些,只要第一个表达式是true,那么第二个表达式就不用计算了,结果一定是true
System.out.println(true||true);
System.out.println(true||false);
System.out.println(false||false);
System.out.println(false||true);
//逻辑非:! 规律:相反结果
System.out.println(!true);//false
System.out.println(!false);//true
//逻辑异或:^ 规律:两个操作数相同,结果为false,不相同,结果为true
System.out.println(true^true);
System.out.println(true^false);
System.out.println(false^false);
System.out.println(false^true);
}
}
public class Test{
public static void main(String[] args){
int i=8;
System.out.println((5>7)&&(i++==2)); //false
System.out.println(i); //8
int a=8;
System.out.println((5>7)&(a++==2)); //false
System.out.println(a); //9
int m=8;
System.out.println((5<7)&&(m++==2)); //false
System.out.println(m); //9
int b=2;
System.out.println((5<7)&(b++==2)); //true
System.out.println(b); //3
int c=2;
System.out.println((5<7)&(++c==2)); //false
System.out.println(c); //3
}
}
5.三目运算符:
a?b:c
其中a是一个布尔类型的表达式,返回结果要么是true要么false,通过a的结果决定最终表达式的结果:
如果a的结果是true,那么表达式最终结果为b
如果a的结果是false,那么表达式最终结果为c
import java.util.*;//*代表所有
public class Test{
public static void main(String[] args){
//实现功能:男孩女孩选择晚饭吃什么,如果意见一致,听男生的,如果意见不一致,听女生的
//1.要让男孩女孩选择晚饭吃什么:
Scanner sc = new Scanner(System.in);
System.out.println("请选择今晚吃什么:1.火锅 2.烧烤 3.麻辣烫 4.西餐");
System.out.println("请男孩选择:");
int boyChoice = sc.nextInt();
System.out.println("请女孩选择:");
int girlChoice = sc.nextInt();
//2.判断:
System.out.println(boyChoice==girlChoice?"听男孩的":"听女孩的");
}
}
6.优先级