抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

输入语句

java使用 Scanner语句进行输入操作,使用前需在前面加上:

1
import java.util.Scanner;

输入一个整数

包括两个步骤:

  • 进入输入状态
  • 读取输入的指定类型的数据
1
2
Scanner s = new Scanner(System.in);      //进入读取状态
int a = s.nextInt(); //读取数据

输入一个浮点数

1
2
Scanner s = new Scanner(System.in);
float b = s.nextFloat()

输入一个字符串

1
2
3
Scanner s = new Scanner(System.in);
String s1 = s.nextLine();
String s2 = s.next();

next()与nextLine()区别

next从第一个非空格字符开始读取,遇到空格就会停止(读取的数据不含空格),返回的是一个字符串

nextLine读取一整行数据,遇到回车就停止(读取的数据不包含回车),返回的是一个字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

String s1 = in.next();
String s2 = in.nextLine();

System.out.print(s1);
System.out.print(s2.length());
System.out.print("===================");
}
}

按下面格式输入:

1
2
abc
def

输出如下:

1
abc0===================

说明:abc是s1的内容,0是s2的长度(即s2什么也没得到)

next(),nextInt(),nextFloat()…这些只读取内容(不包含空格)部分,遇到空格或回车就截止了,把空格或回车放到了缓冲区

nextLine()则是读取一整行,返回字符串,遇到回车(不读取回车)就截止

因此,如果在next()后使用nextLine(),在输入数据后,按下回车,则数据会被next()获取,

此时nextLine()紧接着进行读取,正好遇到回车,因此,nextLine什么也没得到。

评论