亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中Scanner類使用保姆級(jí)教程

 更新時(shí)間:2023年04月26日 11:24:24   作者:努力努力再努力c.  
JavaSE在java.util類庫(kù)中提供了一個(gè)專門用于輸入操作的類Scanner類,可以使用該類創(chuàng)建一個(gè)對(duì)象,然后利用該對(duì)象的相關(guān)方法從鍵盤上讀取數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java中Scanner類使用的相關(guān)資料,需要的朋友可以參考下

一、Scanner類簡(jiǎn)介

Scanner類是在jdk1.5版本引入的,它在java的util工具包下,主要用于掃描用戶從控制臺(tái)輸入的文本。

當(dāng)我們需要通過控制臺(tái)輸入數(shù)據(jù)時(shí),只需要事先導(dǎo)入java.util包中的Scanner類,然后調(diào)用Scanner類,我們的程序就能獲取我們?cè)诳刂婆_(tái)所輸入的數(shù)據(jù)了。

二、如何使用Scanner類

1、首先導(dǎo)入java.util.Scanner包;

import java.util.Scanner;

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

Scanner sc = new Scanner(System.in);

3、創(chuàng)建一個(gè)變量來接收輸入的數(shù)據(jù)

//運(yùn)用上面創(chuàng)建的sc對(duì)象調(diào)用對(duì)應(yīng)的方法,控制臺(tái)即可等待用戶輸入,我們自定義一個(gè)變量來接收即可
//我們想要輸入的數(shù)據(jù)類型不同,也需要調(diào)用不同的方法,具體應(yīng)用如下:
String str = sc.nextLine();
String str = sc.next();
byte a1= sc.nextByte();
short a2= sc.nextShort();
int a3 = sc.nextInt();
long a4 = sc.nextLong();
float a5 = sc.nextFloat();
double a6 = sc.nextDouble();
boolean a7 = sc.nextBoolean();

4、關(guān)閉Scanner類

//使用完Scanner后,我們一定要記得將它關(guān)閉!
//因?yàn)槭褂肧canner本質(zhì)上是打開了一個(gè)IO流,如果不關(guān)閉的話,它將會(huì)一直占用系統(tǒng)資源。
sc.close();
//但是注意一旦你關(guān)閉后,就算在sc.close()這行代碼后你再重新new Scanner(System.in),那也不能重新再打開一個(gè)掃描器了,如下圖會(huì)發(fā)現(xiàn)程序會(huì)報(bào)錯(cuò)
//所以大家一定要在用不到掃描器之后再關(guān)閉,即把sc.close()代碼放到最后。

三、next()和nextLine()的區(qū)別(很重要)

從上面的講解,我們會(huì)發(fā)現(xiàn)當(dāng)我們想要輸入的數(shù)據(jù)類型是String時(shí),我們有兩個(gè)方法可以調(diào)用:next()和nextLine()。那這兩種方法具體有什么區(qū)別呢?我們繼續(xù)往下看:

(1)我們先來測(cè)試一下next():

使用多組測(cè)試用例測(cè)試后,分析輸出結(jié)果不難得出以下結(jié)論(這里只貼了經(jīng)典測(cè)試案例,其他的大家可以自行測(cè)試):

next()方法在識(shí)別輸入的字符串時(shí),不能得到我們輸入的帶有空格的字符串,只是讀取到了hello。

這說明next()在讀取到有效字符之后會(huì)以空格作為自己的讀取結(jié)束標(biāo)識(shí)符,因?yàn)槲覀兛梢园l(fā)現(xiàn)hello前面的空格并沒有影響到方法的讀取。所以next()用法總結(jié)如下:

next()用法總結(jié):
1. 一定要讀取到有效字符后才可以結(jié)束輸入。
2. 對(duì)輸入的有效字符之前所遇到的空白,會(huì)自動(dòng)將其去除。
3. 只有輸入的有效字符后才將其后面輸入的空白作為結(jié)束符。
4. next()不能得到帶有空格的字符串。
5. 讀取結(jié)束后,該方法會(huì)將我們的鼠標(biāo)定位在我們輸入數(shù)據(jù)的那一行。

(2)再來測(cè)試一下nextLine():

分析結(jié)果發(fā)現(xiàn),輸入結(jié)果與輸入結(jié)果完全一致,nextLine()并沒有被字符串中間的空格影響讀取結(jié)果。

這是因?yàn)樵摲椒ㄒ缘氖腔剀嚪ㄒ簿褪俏覀冩I盤的enter鍵)作為結(jié)束標(biāo)識(shí)符。

nextLine()用法總結(jié):
1、以回車符作為結(jié)束標(biāo)識(shí)符,獲取到的是回車符前輸入的所有字符串(包括空格)。
2、讀取結(jié)束后,該方法會(huì)將我們的鼠標(biāo)定位在我們輸入數(shù)據(jù)的那一行的下一行。

(3)先使用nextLine再使用next()、nextInt()等沒問題,但是先使用next()和nextInt()等之后就不可以再緊跟nextLine使用。(這一點(diǎn)很重要?。。。?/h3>

這是因?yàn)閚ext()等這些方法讀取結(jié)束后會(huì)緊跟一個(gè)回車符,而nextLine會(huì)直接讀取到這個(gè)回車符,這就導(dǎo)致出現(xiàn)我們還沒有來得及輸入我們想要輸入的數(shù)據(jù),nextLine就以為我們已經(jīng)輸入完了這樣的情況!

解決辦法也很簡(jiǎn)單:我們直接在next()使用后加兩個(gè)nextLine()就OK了,這樣第一個(gè)nextLine()就會(huì)當(dāng)一個(gè)‘替死鬼’,第二個(gè)nextLine()我們就可以輸入自己想要輸入的數(shù)據(jù)啦!

四、hash×××()的簡(jiǎn)單使用

我們發(fā)現(xiàn)Scanner類的實(shí)例變量還會(huì)有以hash開頭的一系列方法,那這些方法是干什么的呢?

我們直接上測(cè)試用例,大家直觀體會(huì):

五、Scanner方法匯總

該圖的意思其實(shí)就是,比如:nextlnt():只能讀取int值,用戶如果輸入了其他非整型的數(shù)據(jù),程序就會(huì)報(bào)錯(cuò)。

其他的如nextByte()、nextDouble()也是以此類推,只能讀取符合該類型的數(shù)據(jù),所以我們要根據(jù)我們輸入的數(shù)據(jù)來匹配對(duì)應(yīng)的方法。

總結(jié)

到此這篇關(guān)于Java中Scanner類使用保姆級(jí)教程的文章就介紹到這了,更多相關(guān)Java Scanner類使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring MVC實(shí)現(xiàn)文件上傳及優(yōu)化案例解析

    Spring MVC實(shí)現(xiàn)文件上傳及優(yōu)化案例解析

    本文介紹如何在SpringMVC框架中實(shí)現(xiàn)文件上傳和異步登錄功能,通過添加必要的依賴和配置,創(chuàng)建文件上傳頁(yè)面和控制器,實(shí)現(xiàn)文件上傳到指定文件夾,同時(shí),展示了如何使用AJAX實(shí)現(xiàn)局部刷新的異步登錄,優(yōu)化用戶體驗(yàn),詳細(xì)步驟包括配置springmvc.xml、編寫前端頁(yè)面和控制器等
    2024-10-10
  • java中的IO流

    java中的IO流

    這篇文章主要介紹了java中的IO流的相關(guān)資料,需要的朋友可以參考下文
    2021-08-08
  • PowerJob Alarmable工作流程源碼剖析

    PowerJob Alarmable工作流程源碼剖析

    這篇文章主要為大家介紹了PowerJob Alarmable工作流程源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 常見的java面試題

    常見的java面試題

    這篇文章主要為大家詳細(xì)介紹了常見的java面試題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Java?Spring?boot?配置JDK和MAVEN開發(fā)環(huán)境的過程

    Java?Spring?boot?配置JDK和MAVEN開發(fā)環(huán)境的過程

    本文詳細(xì)介紹了如何配置JDK和Maven環(huán)境,包括JDK的安裝與環(huán)境變量設(shè)置,Maven的下載、配置環(huán)境變量和設(shè)置阿里云倉(cāng)庫(kù),最后簡(jiǎn)述了在IntelliJ?IDEA中配置JDK和Maven的步驟,本教程適合Java開發(fā)新手進(jìn)行開發(fā)環(huán)境的搭建,確保順利進(jìn)行Java項(xiàng)目的開發(fā)
    2024-11-11
  • SSM 整合的配合文件(分享)

    SSM 整合的配合文件(分享)

    下面小編就為大家分享一篇SSM 整合的配合文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • LocalDateTime日期時(shí)間格式中間多了一個(gè)T的問題及解決

    LocalDateTime日期時(shí)間格式中間多了一個(gè)T的問題及解決

    這篇文章主要介紹了LocalDateTime日期時(shí)間格式中間多了一個(gè)T的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java泛型定義與用法實(shí)例詳解

    Java泛型定義與用法實(shí)例詳解

    這篇文章主要介紹了Java泛型定義與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java中泛型的概念、原理、定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • Java程序執(zhí)行的全流程

    Java程序執(zhí)行的全流程

    這篇文章主要介紹了Java程序執(zhí)行的全流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 小議Java中final關(guān)鍵字使用時(shí)的注意點(diǎn)

    小議Java中final關(guān)鍵字使用時(shí)的注意點(diǎn)

    final關(guān)鍵字代表著最后、不可改變,無論是在用final修飾類、修飾方法還是修飾變量時(shí),都要注意內(nèi)存分配的問題.這里來小議Java中final關(guān)鍵字使用時(shí)的注意點(diǎn):
    2016-06-06

最新評(píng)論