由于scanner类不在lang包下,需要将其所在的包导入进来
import java.util.Scanner
由于我们使用的集成开发工具,此步可以省略
快捷键:导包 ctrl + shift + o
录入的数据也分很多类型,比如int,double,float,string,布尔值等 下面依次接受各个类型的区别以及实例
录入整数 int Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int int01 = scanner.nextInt(); //使用扫描器的时候,next()方法会堵塞程序,不输入数据程序不会向下执行 System.out.println(int01); 录入小数 double float Scanner scanner = new Scanner(System.in); System.out.println("请输入一个小数:"); double d1 = scanner.nextDouble(); System.out.println(d1); 录入布尔值 Scanner scanner = new Scanner(System.in); System.out.println("请输入一个布尔值"); boolean b1 = scanner.nextBoolean(); System.out.println(b1); 录入字符串 Scanner scanner = new Scanner(System.in); System.out.println("请输入你的名字:"); String name = scanner.next(); System.out.println(name); 录入一行nextLine() Scanner scanner = new Scanner(System.in); System.out.println("请输入一行字符串:"); String line = scanner.nextLine(); System.out.println(line); nextLine和next的区别next的特点:
输入的数据不能有空格,否则会终止输入如果前面有空格或者回车会直接去掉,不会录入所以如果前面有空格可以使用该方法,但是后面有空格则不行nextLine()的特点
以换行结束一般情况下,不要将next()和nextLine()混用,因为next的结束会影响nextLine的输入一般不和以上的几种next混用可以录入空数据,获得空白内容接受三个数据且比较大小
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int c = scanner.nextInt(); int d = scanner.nextInt(); int e = scanner.nextInt(); if (c > d) { if (c > e) { System.out.println(c + "是最大值"); }else { System.out.println(e + "是最大值"); } }else { if (d > e) { System.out.println(d + "是最大值"); }else { System.out.println(e + "是最大值"); } } } }输入:我叫xx。我来自xx,我今年xx岁,我的bmi为xx
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String name1 = scanner.next(); String home = scanner.next(); int age = scanner.nextInt(); float bmi = scanner.nextFloat(); System.out.println("我叫"+name1+",我来自"+home+",我今年"+age+"岁,我的bmi为"+bmi); scanner.close(); } }