三、运算符、数据输入
第一章 运算符
关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”,"=="是判断是否相等的关系,"="是赋值。
1 public static void main(String[] args) { 2 int a = 10; int b = 20; 3 System.out.println(a == b); // false 4 System.out.println(a != b); // true 5 System.out.println(a > b); // false 6 System.out.println(a >= b); // false 7 System.out.println(a < b); // true 8 System.out.println(a <= b); // true 9 10 // 关系运算的结果肯定是boolean类型,所以也可以将运算结果赋值给boolean类型的变量 11 boolean flag = a > b; 12 System.out.println(flag); // 输出false 13 }
2.2 逻辑运算符(应用)
逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判
断的结果是 true 或 false。
短路逻辑运算符

在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值
都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表
达式将不再参与运算。
- 逻辑与&,无论左边真假,右边都要执行。
- 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
- 逻辑或|,无论左边真假,右边都要执行。
- 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
public static void main(String[] args) { int x=3; int y=4; System.out.println((x++>4)&(y++>5)); System.out.println(x);//4 System.out.println(y);//5 System.out.println((x++ > 4) && (y++ > 5)); // 左边已经可以确定结果为false,右边不参与运算 System.out.println(x);//4 System.out.println(x);//4 }
2.3 经验分享
2.3.1 问题代码:
1 public static void main(String[] args) { 2 int a=10; 3 int b=20; 4 int c=30; 5 6 System.out.println(a<b<c); 7 }
2.3.2 问题分析:
java中不允许出现 a < b < c 这样的语法写法。
2.3.3 解决办法:
如果判断两个条件同时满足,请使用“与”符号来完成
System.out.println(a < b && b < c);
2.3 三元运算符(理解)
三元运算符语法格式:
关系表达式 ? 表达式1 : 表达式2;
解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
举例:
public static void main(String[] args) { int a = 10; int b = 20; int c = a > b ? a : b; // 判断 a>b 是否为真,如果为真取a的值,如果为假,取b的值 }
三元运算符案例:
1、需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,请用程序实现判断两只老虎的体
重是否相同。
public static void main(String[] args) { //1:定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可。 int weight1=180; int wieght2=200; //2:用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false。 boolean b= weight1==wieght2 ? true : false; //3:输出结果 System.out.println("b:" + b); }
2、需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,请用程序实现获取这三
个和尚的最高身高。
1 public static void main(String[] args) { 2 //1:定义三个变量用于保存和尚的身高,单位为cm,这里仅仅体现数值即可。 3 int h1 = 150; 4 int h2 = 210; 5 int h3 = 165; 6 //2:用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。 7 int temp=h1>h2?h1:h2; 8 //3:用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。 9 int max=temp>h3?temp:h3; 10 //4:输出结果 11 System.out.println("这三个和尚中身高最高的是:" + max +"cm"); 12 }
2.4经验分享二
2.4.1 问题代码:
int a = 10; int b = 20; //三元运算符
a > b ? a : b;
2.4.2 问题分析:
三元运算符在使用时必须要有赋值,没有赋值是错误语法。
2.4.3解决办法:
int c = a > b ? a : b;
第三章 数据输入(应用)
数据输入是指获取用户键盘录入的数据,那么在java语言中,怎样实现呢?
我们可以通过 Scanner 类来获取用户的输入。
3.1 使用步骤
我们可以通过 Scanner 类来获取用户的输入。使用步骤如下:
1、导包。Scanner 类在java.util包下,所以需要将该类导入。导包的语句需要定义在类的上面。
import java.util.Scanner;
2、创建Scanner对象。
Scanner sc = new Scanner(System.in);// 创建Scanner对象,sc表示变量名,其他均不可变
3、接收数据
int i = sc.nextInt(); // 表示将键盘录入的值作为int数返回。
示例:
public static void main(String[] args) { //创建对象 Scanner sc = new Scanner(System.in); //接收数据 int x = sc.nextInt(); //输出数据 System.out.println("x:" + x); }
3.2 Scanner类练习
在获取三个和尚中的最高身高案例中,身高数据如果由键盘录入,该怎样实现呢?
public static void main(String[] args) { //身高未知,采用键盘录入实现。首先导包,然后创建对象。 Scanner sc = new Scanner(System.in); //键盘录入三个身高分别赋值给三个变量。 System.out.println("请输入第一个和尚的身高:"); int h1 = sc.nextInt(); System.out.println("请输入第二个和尚的身高:"); int h2 = sc.nextInt(); System.out.println("请输入第三个和尚的身高:"); int h3 = sc.nextInt(); //用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。 int temp = h1 > h2 ? h1 : h2; //用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。 int max = temp > h3 ? temp : h3; //输出结果。 System.out.println("这三个和尚中身高最高的是:" + max +"cm"); }

浙公网安备 33010602011771号