Java怎么从键盘输入内容(Java Scanner类的用法详解)
文件大小: 95k
源码售价: 69 个金币 积分规则     积分充值
资源说明:前言: Java的输入不像 C 等其他语言那样的简便的输入 scanf 比如输入一个整数型的数 scanf("%d",&a); 这篇文章讲介绍Java怎么从键盘输入内容以及Scanner类的其他用法 Scanner类简介 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。接下来,我们将演示一个最简单的数据输入,并通过Scanner类的next ()与 nextLine() 方法来获取输入的字符串. 下面的创建 Scanner 对象的基本语法: Scanner sc = new Scanner(System.in); next() 在Java编程中,从键盘获取用户输入是一项基本操作。与C等语言不同,Java没有像`scanf`这样的简便方法直接获取输入。Java引入了`java.util.Scanner`类,自Java 5版本开始引入,用于方便地处理用户输入。本文将详细介绍如何使用Scanner类以及其常用方法。 创建Scanner对象的基本语法是: ```java Scanner sc = new Scanner(System.in); ``` 这里的`System.in`代表标准输入流,通常对应于键盘输入。 ### 简单的输入输出 使用Scanner类获取字符串的简单示例如下: ```java import java.util.Scanner; public class Scanner_Java { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); sc.close(); System.out.println(a); } } ``` 在第7行,调用`sc.close()`是必要的,因为它可以关闭输入流并释放资源。如果不关闭,虽然程序仍能运行,但可能导致资源泄露。 ### `next()`与`nextLine()`的区别 `next()`方法读取输入直到遇到空格、制表符或换行符。如果输入是"hello world",`next()`只会读取"hello"。而`nextLine()`会读取整行,包括空格,因此对于相同的输入,`nextLine()`会输出"hello world"。 ### Scanner的常见用法 Scanner类提供了多种获取不同类型输入的方法,如`nextInt()`、`nextDouble()`等。例如,如果要读取整数,应使用`nextInt()`: ```java Scanner sc = new Scanner(System.in); int a = sc.nextInt(); ``` 对于其他数据类型,如浮点数,可以使用`nextFloat()`,双精度数使用`nextDouble()`。 此外,`hasNext*()`系列方法用于判断是否有更多输入。例如,`hasNext()`检查是否还有更多输入,`hasNextInt()`检查是否可以读取到整数。以下是一个例子,展示了如何在用户输入"stop"时结束循环: ```java Scanner sc = new Scanner(System.in); while (!sc.hasNext("stop")) { String a = sc.next(); System.out.println(a); } ``` 在这个例子中,只要用户不输入"stop",就会持续读取并打印输入的单词。 ### 更多Scanner方法 Scanner类还提供了其他方法,如`nextBoolean()`用于读取布尔值,`nextBigInteger()`用于读取大整数,`nextBigDecimal()`用于读取大数等。对于非数字的复杂输入,如日期和时间,可以使用`nextDateTime()`等方法。 Java中的Scanner类为处理用户输入提供了一套灵活且强大的工具。开发者可以根据需求选择适当的方法,以实现对不同类型数据的读取。正确理解和使用Scanner类,是编写交互式Java程序的关键。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。