System.in
The "standard" input stream. This stream is already open and ready to supply input data. Typically this stream corresponds to keyboard input or another input source specified by the host environment or user.
public final static InputStream in = null;
Scanner scan = new Scanner(System.in) ; // 从键盘接收数据
System.in代表InputStream输入流,也相当于是一座桥梁,起到连接键盘输入与scan对象的作用。scan对象仅仅只是一个对象,它在构造的同时指向了这个输入流,并拥有一些可以操作的方法,比如:
String str = scan.next() ; // 接收数据
next方法会从输入流中获取一条(一行)数据,取决于是否按下回车。每次回车,意味着已经输入了一行数据,紧接着这行数据会被scan对象获取和使用。如果想持续的获取数据,那么可以这样实现:
String str = scan.next(); // 接收数据
do{
System.out.println("输入的数据为:" + str) ;
} while((str= scan.next())!=null);//不能直接把字符串转换为布尔值
完整代码:
import java.util.* ;
public class ScannerDemo01{
public static void main(String args[]){
Scanner scan = new Scanner(System.in) ; // 从键盘接收数据
System.out.print("输入数据:") ;
String str = scan.next(); // 接收数据
do{
System.out.println("输入的数据为:" + str) ;
} while((str= scan.next())!=null); }
};