日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java Scanner类的介绍及使用

發(fā)布時(shí)間:2024/1/18 java 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Scanner类的介绍及使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 1 什么是Scanner類
  • 2 Scanner類的對(duì)象創(chuàng)建
    • 1 查看類并導(dǎo)入類
    • 2 查看構(gòu)造方法
    • 3 創(chuàng)建對(duì)象
  • 3 Scanner類的基本方法
    • 1 next() 方法
    • 2 nextLine() 方法
    • 3 next()以及nextInt()等 與 nextLine() 區(qū)別
    • 4 Scanner.close()的必要性

1 什么是Scanner類

scanner的中文翻譯是掃描儀,顧名思義,Scanner類可以生成一個(gè)解析基本類型和字符串的文本掃描儀。

簡單點(diǎn)說:我們可以通過 Scanner 類來獲取用戶的輸入。

2 Scanner類的對(duì)象創(chuàng)建

1 查看類并導(dǎo)入類

//該類需要import導(dǎo)入后使用 java.util.Scanner;

2 查看構(gòu)造方法

// 構(gòu)造一個(gè)新的Scanner,它生成的值是從指定的輸入流掃描來的 public Scanner(InputStream source);

3 創(chuàng)建對(duì)象

Scanner scan = new Scanner(System.in);

3 Scanner類的基本方法

通過 Scanner 類的 next() 與 nextLine() 方法可以獲取輸入的字符串,在讀取前一般需要使用 hasNext() 與 hasNextLine() 判斷是否還有輸入的數(shù)據(jù)。

1 next() 方法

import java.util.Scanner; public class ScannerDemo {public static void main(String[] args) {// 從鍵盤接收數(shù)據(jù)Scanner scan = new Scanner(System.in);// next方式接收字符串System.out.println("next方式接收:");// 判斷是否還有輸入if (scan.hasNext()) {String str1 = scan.next();System.out.println("輸入的數(shù)據(jù)為:" + str1);}scan.close();} }

程序輸出結(jié)果:

next方式接收: baidu com 輸入的數(shù)據(jù)為:baidu

可以看到 com 字符串并未輸出。

2 nextLine() 方法

import java.util.Scanner;public class ScannerDemo {public static void main(String[] args) {// 從鍵盤接收數(shù)據(jù)Scanner scan = new Scanner(System.in);// nextLine方式接收字符串System.out.println("nextLine方式接收:");// 判斷是否還有輸入if (scan.hasNextLine()) {String str2 = scan.nextLine();System.out.println("輸入的數(shù)據(jù)為:" + str2);}scan.close();} }

程序輸出結(jié)果:

nextLine方式接收: baidu com 輸入的數(shù)據(jù)為:baidu com

可以看到 com 字符串輸出了。

3 next()以及nextInt()等 與 nextLine() 區(qū)別

next()以及nextInt()等:

  • 一定要讀取到有效字符后才可以按Enter鍵結(jié)束輸入;
  • 對(duì)輸入有效字符之前遇到的空白,next()以及nextInt()等 自動(dòng)將其去掉;
  • 輸入有效字符后,如果遇到空白,next()以及nextInt()等將從第一個(gè)空白處截?cái)嗖⑷サ糁笏凶址?
  • next()以及nextInt()等,不讀取“\n”,并將cursor放在本行中(可以在一行以空格分隔多個(gè)輸入),因此如果想在next()以及nextInt()等后讀取一行nextLine(),就必須在next()以及nextInt()等之后加上scan.nextLine();
  • nextLine():

  • 不一定讀取到有效字符,按Enter就可以結(jié)束輸入;
  • 以"\n"為結(jié)束符,讀完后cursor在下一行,返回的是按Enter鍵結(jié)束輸入之前的所有字符;
  • next() 不能得到帶有空白的字符串,nextLine() 能得到帶有空白的字符串。

    如果要輸入int或double類型的數(shù)據(jù),在Scanner 類中同樣有支持,但是在輸入之前最好先使用 hasNextXxx() 方法驗(yàn)證是否還有輸入以及輸入類型是否正確,再使用 nextXxx() 來讀取。

    4 Scanner.close()的必要性

    使用Scanner(system.in)時(shí),使用完畢后,一定要關(guān)閉掃描器,因?yàn)閟ystem.in屬于IO流,一旦打開,它一直在占用資源,因此使用完畢后切記要關(guān)閉。

    總結(jié)

    以上是生活随笔為你收集整理的Java Scanner类的介绍及使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。