如何从键盘获取不同类型的变量:需要使用Scanner类。
具体实现步骤
1.导包: import java.util.Scanner;
2.Scanner的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相关方法,来获取指定类型的变量。
注意
需要根据相应的方法,输入指定类型的值,如果输入的数据类型与要求的类型不匹配是,会报异常:InputMisMatchExcept,导致程序终止。
练习一
import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
System.out.println(num);
}
}
练习二
程序
import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
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);//获取索引为0位置上的字符
}
}
结果
请输入你的姓名:
一痴傻人
一痴傻人
请输入你的芳龄:
23
23
请输入你的体重:
100
100.0
你是否相中了我呢?(true/false)
true
true
请输入你的性别:(男/女)
女
练习三
程序
import java.util.Scanner;
class IfTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入岳晓鹏期末成绩:");
int score = scan.nextInt();
if(score ==100){
System.out.println("奖励一辆BMW");
}else if(score <80 && score <=90){
System.out.println("奖励一个iphone");
}else if(score >=60 && score <=80){
System.out.println("奖励一个ipad");
}else {
System.out.println("什么奖励也没有");
}
}
}
结果
请输入岳晓鹏期末成绩:
75
奖励一个iphone
说明:
1.else 结构是可选的。
2.针对条件表达式:
-
如果多个条件表达式之间是“互斥”关系(或没有交集的关系),那个判断和执行语句声明在上面还是下面,无所谓。
-
如果多个表达式之间有交集关系的,需要根据实际情况,考虑清楚应该将那个结构声明在上面。
-
如果多个条件表达式之间有包含的关系,通常条件下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。
练习四
编写程序:有键盘上输入三个整数,分别存入num1,num2,num3,对她们进行排序(使用if-else if-else),并且从小到大输出。
程序
import java.util.Scanner;
class IfTest4{
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(num2 + "," + num1 + "," + num3);
}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);
}
}
}
}
结果
请输入第一个整数:
6
请输入第二个整数:
5
请输入第三个整数:
9
5,6,9