一、簡介
Java Scanner類是Java中的一個常用輸入類,可以通過Scanner對象讀取鍵盤輸入、文件輸入、字符串等數據類型。Scanner提供了很多方便易用的方法,既可以讀取數字類型,也可以讀取字符串類型,這些方法大大減少了程序員的代碼量。下面對Scanner做詳細講解。
二、Scanner類的構造函數
1. public Scanner(File source)
該構造函數用於讀取文件類型數據,可以直接傳入文件參數,將文件內容讀取到Scanner對象中。
Scanner scanner = new Scanner(new File("test.txt"));//讀文件 System.out.println(scanner.nextLine());// 輸出文件的第一行
2. public Scanner(InputStream source)
該構造函數用於讀取輸入流類型數據,可以傳入System.in來讀取鍵盤輸入的數據
Scanner scanner = new Scanner(System.in);//讀鍵盤輸入 System.out.print("請輸入一個數字:"); int num = scanner.nextInt();// 讀取int類型的數字 System.out.println("你輸入的數字是:" + num);
3. public Scanner(String source)
該構造函數用於讀取字符串類型數據,可以直接將字符串讀取到Scanner對象中。
Scanner scanner = new Scanner("hello world");//讀字符串類型 System.out.println(scanner.nextLine());//輸出字符串
三、Scanner類的常用方法
1. next()
該方法用於讀取空格分隔的字符串值,默認情況下,該方法讀取到空格或者換行符結束。next()方法每次只讀取一個字符串。
Scanner scanner = new Scanner(System.in); System.out.print("請輸入姓名:"); String name = scanner.next();// 讀取字符串 System.out.print("請輸入年齡:"); int age = scanner.nextInt();// 讀取整型 System.out.println("姓名:" + name + ",年齡:" + age);
2. nextLine()
該方法用於讀取一行字符串值,默認情況下,該方法讀取到回車結束。nextLine()方法一次可以讀取一整行字符串內容。
Scanner scanner = new Scanner(System.in); System.out.print("請輸入寢室地址:"); String room = scanner.nextLine();// 讀取整行字符串 System.out.println("您輸入的寢室地址是:" + room);
3. nextInt()
該方法用於讀取整型數字值,默認情況下,該方法讀取到非數字字符結束。nextInt()方法每次只讀取一個整數。
Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個數字:"); int num = scanner.nextInt();// 讀取整型 System.out.println("你輸入的數字是:" + num);
4. nextDouble()
該方法用於讀取雙精度浮點型數字值,默認情況下,該方法讀取到非數字字符結束。nextDouble()方法每次只讀取一個浮點數。
Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個數:"); double d = scanner.nextDouble();// 讀取浮點型 System.out.println("你輸入的數是:" + d);
5. hasNext()和hasNextLine()
這兩個方法用於判斷Scanner對象是否還有輸入內容,可以根據需求選擇使用,hasNext()方法輸入的內容中有空格會返回false,hasNextLine()會忽略空格。
Scanner scanner = new Scanner(System.in); System.out.print("請輸入內容:"); boolean hasContent = scanner.hasNextLine();// 判斷是否還有輸入內容 if (hasContent) { System.out.println(scanner.nextLine()); } else { System.out.println("沒有輸入內容!"); }
四、小結
上述內容就是Java Scanner類的基礎用法,Scanner提供了很多方便易用的方法,可以應用到許多場景之中。合理使用Scanner可以大幅度減少代碼量,提高代碼編寫效率。
原創文章,作者:AXTYO,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/330488.html