java基础-Scanner接收用户输入

java接收用户输入(Scanner)

Scanner是JDK 1.5新增的一个类,可以使用该类创建一个对象,对象再调用下列方法,读取用户在输入行中输入的各种基本类型的数据。

nextBoolean(),nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble(),

下面举个例子

import java.util.Scanner;
public class qiqi{
     
	public static void main (String args[]){
     
		Scanner input = new Scanner(System.in);
		int i = input.nextInt();	//只能输入固定的类型,不然会报错
	}
}

那当我们想接收一个字符的时候,应这样写:

Scanner input = new Scanner();
char aa = input.next().charAt(0);

当我们输入的内容和需要接收的类型不一致时会出错,所以可以以接收字符串的形式来避免接收异常:

Scanner input = new Scanner();
String s = input.next();

next()和nextLine()的区别

到这里可能有小伙伴见过String s=input.nextLine();,这条语句同样是接收字符串,那么next()和nextLine();有什么区别呢?
String s=input.next(); //接收一段文字,不能接收空格或回车,所以但输入空格或回车就相当于结束了输入,但只有输入有效字符再按 回车或空格才有效,才能结束输入
String s=input.nextLine(); //接收一行的输入,只有按回车才能结束输入,空格还是属于输入的内容,直接输入回车就会结束输入,相当于内容为一个回车,如果先输入空格再输入abc,则内容相当于空格加abc

(注:如果next()和nextLine()先后使用,例如输入abc,按回车,那么它将不会提示接收nextLine()的内容,应为输入abc,按换行,满足了第next()的内容,而nextLine()接收满足了换行操作,所以就不会再提示输入nextLine()的内容)
所以这两个方法不要同时用。

你可能感兴趣的:(字符串,java)