Java流程控制 part1
Scanner对象(用户交互)
java.util.Scanner util工具包中的Scanner类来获取用户输入,Java5的新特性
- 基本语法:
Scanner scanner = new Scanner(System.in);
- 通过Scanner类的next() 与 nextLine() 方法获取输入字符串,读取前利用hasNext() 与hasNextLine() 判断是否还有输入的数据。
// next()
package com.scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
// 创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");
// 判断用户有没有输入字符串
if (scanner.hasNext()) {
// 使用next方法接收
String str = scanner.next();
System.out.println("输入的内容为:"+str);
}
// !!!!!重点,凡是属于IO流的类用完都需要关闭,否则会一直占用资源
scanner.close();
}
}
// nextLine()
package com.scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
if (scanner.hasNextLine()) {
String str = scanner.nextLine();
System.out.println(str);
}
scanner.close();
}
}
// 可以不用if判断
package com.scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
System.out.println(str);
scanner.close();
}
}
//同理,next() 也是如此
next()和nextLine()二者区别
- next()
- 有效字符前的空格,next()方法自动将其去掉
- 输入有效字符后,才能将后面的空格作为结束符
- 不能得到带有空格的字符
- nextLine()
- 以enter作为结束符
- 可以获得空白
Scanner进阶使用
nextInt() hasNextInt()
nextDouble() hasNextDouble()
可以判断不同类型的输入