逻辑运算符
&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,应该写成 x>3 & x<6 。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
关系表达式:a == b
结论
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。 举例:情侣关系。男男,男女,女男,女女
!逻辑非:非false则true,非true则false。 特点:偶数个不改变本身。
&和&&的区别
它们两个运算的最终结果没有任何区别,区别在于运算效率上
&:它的两端都会运算。
&&:左端为false,右端就不运算,当你的左端为true了右端,还必须运算。
三元(三目)运算符
(关系表达式) ? 结果1 : 结果2;
看关系表达式的结果是true,返回结果1;
结果如果是false,返回结果2;
案例演示:
public class MyTest {
public static void main(String[] args) {
int a=(10>20)?30:50;
System.out.println(a);
}
}
//a=50 结果是false 返回结果是结果2 所以是50
获取三个数的最大值:两两比较
public class MyTest {
public static void main(String[] args) {
int a=10;
int b=20;
int c=30;
int max1=a>b?a:b;
int max2=max1>c?max1:c;
//两两比较确定a和b的最大值后再和c比较
System.out.println(max2);
}
}
Scanner
可以从键盘录入数据
- 导入包
- 创建该类对象
- 写个提示语句
- 获取用户从键盘上输入的数据
import java.util.Scanner;//第一步
public class MyTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//第二步
System.out.println("请输入");//第三步
scanner.nextLine();//第四步
//Scanner方法里有很多方法,具体方法可以查API文档确定你想要用户输入的数据类型
}
}
案例演示:键盘录入三个数据,获取这三个数据中的最大值
import java.util.Scanner;
public class MyTest {
public static void main(String[] args) {
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入一个值");
int a = sc1.nextInt();
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入一个值");
int b = sc2.nextInt();
Scanner sc3 = new Scanner(System.in);
System.out.println("请输入一个值");
int c = sc3.nextInt();
//三元运算符
int max1 = a > b ? a : b;
int max2 = max1 > c ? max1 : c;
System.out.println("三个数的最大值是"+max2);
}
}