Java控制台输入scanner的方法及代码详解
bjpowernode 人气:0Java控制台输入scanner的方法有哪些?的小编来告诉大家。
含义
读取控制台数据
常用的方法
Scanner scanner = new Scanner(System.in); //创建Scanner对象
scanner.nextLine(); //读取一行内容,以换行符为结束,
它返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
也就是说输入一串字符,它就可以接受所有字符包括空格,但是遇到回车Enter就会停止录入,只录入前面的东西。
scanner.next(); //读取内容,以空格或tab为结束
它会自动地消除有效字符之前的空格,只返回输入的字符,不会得到带空格的字符串。
也就是说如果输入了一串字符,到了有空格的时候就会停止录入,只录入空格前面的东西,空格后面的东西(包括分隔的空格都会保留在缓存区域)
除了空格以外,Tab键和Enter键都被视为分隔符(结束符)。
scanner.nextInt(); //读取内容,以空格或tab为结束【输入的内容必须是int,否则报错】
scanner.nextFloat(); //读取内容,以空格或tab为结束【输入的内容必须是float,否则报错】
scanner.nextDouble(); //读取内容,以空格或tab为结束【输入的内容必须是double,否则报错】
案例
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容1"); String content = scanner.nextLine(); System.out.println(content); System.out.println("请输入内容2"); content = scanner.next(); System.out.println(content); System.out.println("请输入年龄"); int age = scanner.nextInt(); System.out.println(age); System.out.println("请输入成绩"); float score = scanner.nextFloat(); System.out.println(score); }
案例二
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("输入age"); int age = scanner.nextInt(); //空格、tab //scanner.nextLine(); //思考为什么不加这样会有问题??? System.out.println(age); System.out.println("输入内容"); String content =scanner.nextLine(); //读取一行 System.out.println(content); }
知识点扩展:
Scanner的使用
JDK给我们提供了成千上万个类供我们直接使用,而Scanner就是这众多类里的一个最常用的一个类,既然它是一个类,我们使用它的方法和使用我们自己写的类的方法基本一致。
方法基本如下:
1.导包:就是指出需要使用的类在哪一个位置,格式一般为import 包名称.类名称,Scanner导包语句便为import java.util.Scanner对于和当前类属于同一个包的时候,导包语句可以不写,JDK里提供的类仅仅只有java.lang下的类不需要导包。
2.创建:按照格式创建对象,格式一般为 类名称对象名 = new 类名称(),用上面的Scanner来创建就是Scanner sc = new Scanner(),这里的sc就是我们新创建的一个对象名,在新建的Scanner对象里,我们需要传入参数,如果是我们需要接收键盘上的数据,那这个参数就是System.in,即Scanner sc = new Scanner(System.in)
3.使用。根据对象名来使用成员变量和成员方法,next是获得从键盘上输入的数据,String str = sc.next()就是把键盘输入的数据存到变量里面去,我们从键盘输入的数据的类型默认为字符串,想要得到其他类型的数据,我们可以在next后面添加相应的类型,比如nextInt()就是将输入的字符串转为整数。简单来说,键盘输入的内容就是next()方法的返回值。
加载全部内容