第二部分 第十章 1.Scanner类
条评论10.1 Scanner类
10.1.1 什么是Scanner类
一个可以解析基本类型和字符串的简单文本扫描器。例如,以下代码使用户能够从System.in
中读取一个数:
1 | Scanner sc = new Scanner(System.in); |
- 注意:
System.in
系统输入指的是通过键盘录入数据。
10.1.2 引用类型使用步骤
导包
使用import
关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang
包下的所有类无需导入。 格式:
1 | import 包名.类名; |
举例:
1 | java.util.Scanner; |
创建对象
使用该类的构造方法,创建一个该类的对象。 格式:
1 | 数据类型 变量名 = new 数据类型(参数列表); |
举例:
1 | Scanner sc = new Scanner(System.in); |
调用方法
调用该类的成员方法,完成指定功能。 格式:
1 | 变量名.方法名(); |
举例:
1 | int i = sc.nextInt(); // 接收一个键盘录入的整数 |
10.1.3 Scanner使用步骤
查看类
java.util.Scanner
:该类需要import导入后使用。
查看构造方法
public Scanner(InputStream source)
: 构造一个新的Scanner
,它生成的值是从指定的输入流扫描的。
查看成员方法
public int nextInt()
:将输入信息的下一个标记扫描为一个int
值。使用
Scanner
类,完成接收键盘录入数据的操作,代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13//1. 导包
import java.util.Scanner;
public class Demo01_Scanner {
public static void main(String[] args) {
//2. 创建键盘录入数据的对象
Scanner sc = new Scanner(System.in);
//3. 接收数据
System.out.println("请录入一个整数:");
int i = sc.nextInt();
//4. 输出数据
System.out.println("i:"+i);
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## 10.1.4 练习
### 求和
键盘录入两个数据并求和,代码如下:
```java
import java.util.Scanner;
public class Test01Scanner {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);
// 接收数据
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
// 对数据进行求和
int sum = a + b;
System.out.println("sum:" + sum);
}
}
取最值
键盘录入三个数据并获取最大值,代码如下:
1 | import java.util.Scanner; |
10.1.5 匿名对象
概念
创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。
匿名对象 :没有变量名的对象。
格式:
1
new 类名(参数列表);
举例:
1
new Scanner(System.in);
应用场景
- 创建匿名对象直接调用方法,没有变量名。
1 | new Scanner(System.in).nextInt(); |
- 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码。
1 | new Scanner(System.in).nextInt(); |
小贴士:
一个匿名对象,只能使用一次。
- 匿名对象可以作为方法的参数和返回值
- 作为参数:
1 | class Test { |
- 作为返回值
1 | class Test2 { |
本文标题:第二部分 第十章 1.Scanner类
文章作者:foreverSFJ
发布时间:2019-08-19 11:19:55
最后更新:2019-08-19 11:19:55
原始链接:Notes/Java/Basic/Part02/10_1 Scanner类.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
分享