scanner类做键盘录入的,在java.base模块下的java.util包下的类。 创建Scanner类型的对象,要导包,直接输入Scanner回车,进行自动导包。 最常用的是nextxxx()和nextLine() 接收整型数据:hasNextxxx(),nextxxx() import java.util.Scanner; public class Test { public static void main(String[] args) { // 创建Scanner类型的对象,要导包 // system.in标准输入流,默认指向键盘 Scanner sc=new Scanner(System.in); System.out.println("输入一个整数"); int num=sc.nextInt(); System.out.println("num:"+num); // 为了当输入字符串类型的数据也输出,不报错,加入一个if判断 System.out.println("输入一个整数"); if(sc.hasNextInt()){//hasNext...()是做判断的,判断输入的数据是不是整型数据,如果是则输出,如果不是则不执行 int num2=sc.nextInt();//next...()是用来做接收的 System.out.println("num2:"+num2); } } }
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
接收字符串类型数据:nextLine(),next()
import java.util.Scanner; public class Test { public static void main(String[] args) { // 创建Scanner类型的对象,要导包 // system.in标准输入流,默认指向键盘 Scanner sc=new Scanner(System.in); // 接收字符串类型 System.out.println("输入一个字符串:"); String str1=sc.nextLine();//结束标记是换行符,回车键会停止录入 System.out.println("str1:"+str1); String str2=sc.next();//结束标记是空白字符(空格,Tab,换行符), System.out.println("str2:"+str2); } }
next()输入a a a a后输出只有一个a,因为第一个空格就结束了,不在接收后边的字符串