Java 基础(从键盘获取变量)
从键盘获取变量
在 Java 中使用 Scanner 类从键盘获取不同类型的变量,步骤:
- 导包: import java.util.Scanner;
- Scanner 的实例化 Scanner scan = new Scanner(System.in);
- 调用 Scanner 类的相关方法(next()/nextXxx()),来获取指定类型的变量
注意:
需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常: InputMisMatchException 导致程序终止。
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 isMarry = scan.nextBoolean(); System.out.println(isMarry); System.out.println("请输入你的性别:(男/女)"); String gender = scan.next(); char genderChar = gender.charAt(0); //获取索引为0位置上的字符 System.out.println(genderChar); } }
针对 if-else 条件表达式。
- 如果多个条件表达式之间是"互斥"关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。
- 如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
- 如果多个条件表达式之间有包含的关系,通常情况下,需要讲范围小的声明在范围大的上面。否则,范围小的就没有机会执行。
import java.util.Scanner; class IfTest2 { public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("请输入小鹏的期末成绩: (0-100)"); int score = scan.nextInt(); if(score == 100){ System.out.println("奖励一辆BMW"); } else if ( score > 80 ){ // score > 80 && score <= 99 System.out.println("奖励一台 Iphone 手机"); } else if ( score > 60 ){ // score > 60 && score <=80 System.out.println("奖励一台 ipad"); } else { System.out.println("什么奖励也没有"); } } }
import java.util.Scanner; class IfTest3 { 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); } } } }

浙公网安备 33010602011771号