Java控制台的输入主要是通过System类和Scanner类的组合来实现的。它主要处理标准的输入和输出数据。
一、System类的理解
System类是Java中的一个预设类,属于java.lang包。它的ing包、Out属性代表标准输入和输出设备,通常是控制台。Out属性为PrintStream类型,通常用于控制台输出;In属性为InputStream类型,用于标准输入,通常用于键盘输入。
// System类中in和out的使用 System.out.println("Hello, World!"); // 控制台输出 int a = System.in.read(); // 控制台输入,返回ASCII值
System用于上述代码.in.read()该方法将读取控制台输入的字符并返回其ASCII代码,但使用起来并不方便,因此我们经常将Java结合起来.util.Scanner类,便于分析基本类型和字符串。
二、Scanner类的使用
Scanner是Java5的一个新功能。我们可以通过Scanner类获取用户的输入。在下面的示例中,我们创建一个Scanner对象,用它接收从控制台输入的整数,然后输出到控制台。
import java.util.Scanner; // 导入Scanner类 public class Demo { public static void main(String[] args) { Scanner input = new Scanner(System.in); // 创建一个Scanner对象 System.out.println("请输入一个整数:"); int num = input.nextInt(); // 使用Scanner对象读取控制台输入的整数 System.out.println("你输入的整数是:" + num); input.close(); // 关闭Scanner对象 } }
在上述代码中,我们首先创建了一个Scanner对象input,然后通过调用input的nextint()方法从控制台获取用户输入的整数。
三、Scanner类解析多种类型数据
事实上,Scanner类可以分析各种基本类型和字符串,常用的方法是nextInt(),nextLong(),nextFloat(),nextDouble(),nextLine()等等。让我们举个例子,从控制台获取用户输入的一行文字。
import java.util.Scanner; // 导入Scanner类 public class Demo { public static void main(String[] args) { Scanner input = new Scanner(System.in); // 创建一个Scanner对象 System.out.println("请输入一行文本:"); String text = input.nextLine(); // 使用Scanner对象读取控制台输入的一行文本 System.out.println("你输入的文本是:" + text); input.close(); // 关闭Scanner对象 } }
在上述代码中,我们通过调用input的nextLine()来获取用户从控制台输入的一行文本。