今天要系统学一下if-else;争取多看点视频。
主要学习键盘控制(有点像VBA里的input,切换到命令行去输入参数了)
知识点1——获取变量**(Scanner)**
/*
如何从键盘获取不同类型的变量:需要使用scanner类
具体实现步骤:
- 导包: import java.util.Scanner;
- Scanner的实例化
- 调用Scanner类的相关方法(next()/nextXxx()),来获取指定类型的变量
注意:
需要根据相应的方法,来输入指定类型的值。
如果输入的数据类型与要求的类型不匹配,会报警:InputMisMatchException导致程序终止
*/
//1.import java.util.Scanner;
import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
//2.Scanner的实例化
Scanner scan = new Scanner(System.in);
//3.调用Scanner的相关方法,类型需要注意(比如int年龄中混入了小数)
System.out.println("请输入你的姓名:");
String name = scan.next();
System.out.println(name);
System.out.println("请输入你的芳龄:");
int age = scan.nextInt();
System.out.println(age);
System.out.println("请输入你的体重:");
double weight = scan.nextDouble();
System.out.println(weight);
System.out.println("你想和我约会吗?(True/false)");
boolean islove = scan.nextBoolean();
System.out.println(islove);
//对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串
System.out.println("请输入你的性别:(男/女)");
String gender = scan.next();//"男"
char genderChar = gender.charAt(0);//获取年龄
}
}
第二个例子是把之前小鹏考试获得奖励的例子改写成可以用键盘输入的情况:
/*
小明去参加考试,他和别人达成承诺
如果:
成绩为100分,奖励一台max;
成绩为(80,99]时,奖励一台ipad;
成绩为[60,80]时,奖励一台iphone;
其他成绩没有奖励
从键盘上输入小明的成绩,并加以判断
*/
import java.util.Scanner;
class Iftest{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入你的期末成绩");
double score = scan.nextDouble();
if (score == 100){
System.out.println("奖励一台max");
}else if (score > 80 && score <= 99){
System.out.println("你获得的奖励是iPAD");
}else if (score >= 60 && score <=80){
System.out.println("奖励一台iphone");
}else{
System.out.println("什么都没有喽");
}
}
}
对于三个数,scanner输入三个数按照从小到大排序
编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对他们进行排序(使用if-else if-else),并且从小到大输出。
代码
/*
编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对他们进行排序(使用if-else if-else),并且从小到大输出。
*/
import java.util.Scanner;
class Iftest2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = scanner.nextInt();
System.out.println("请输入第二个整数:");
int num2 = scanner.nextInt();
System.out.println("请输入第三个整数:");
int num3 = scanner.nextInt();
// 解法:枚举法
if (num1 >= num2){
if(num3 >= num1){
System.out.println(num2 + "," + num1 + "," + num3);
}else if (num3 <= num2){
System.out.println(num3 + "," + num2 + "," + num1);
}else{
System.out.println(num2 + "," + num3 + "," + num1);
}
}else{
if(num3 >= num2){
System.out.println(num1 + "," + num2 + "," + num3);
}else if (num3 <= num1){
System.out.println(num3 + "," + num1 + "," + num2);
}else{
System.out.println(num1 + "," + num3 + "," + num2);
}
}
}
}
这个实际逻辑是枚举出所有可能性,比如:
代码中分成了 num1 >= num2 与else(num1 <= num2)两种情况