Java中Scanner用法實(shí)例解析
一、Scanner類簡(jiǎn)介
Java 5添加了java.util.Scanner類,這是一個(gè)用于掃描輸入文本的新的實(shí)用程序。
簡(jiǎn)介
Scanner類是java.util包中的一個(gè)類
作用
常用于控制臺(tái)的輸入,當(dāng)需要使用控制臺(tái)輸入時(shí)即可調(diào)用這個(gè)類
二、Scanner類的用法
使用方法
1、首先需要構(gòu)造一個(gè)Scanner類的對(duì)象,并且與標(biāo)準(zhǔn)輸入流System.in關(guān)聯(lián)
Scanner sc=new Scanner(System.in);
2、調(diào)用Scanner類對(duì)象sc的方法從輸入流中獲取你需要的輸入
說明:
當(dāng)創(chuàng)建了一個(gè)Scanner類對(duì)象之后,控制臺(tái)會(huì)一直等待輸入,直到敲回車鍵結(jié)束,把所輸入的內(nèi)容傳給對(duì)象sc,若要獲取需要的內(nèi)容,調(diào)用sc的方法即可
三、常用方法
1、nextInt()只讀取數(shù)值,讀取完后 沒有讀取并且光標(biāo)放在本行
Scanner sc=new Scanner(System.in); int i=sc.nextInt();
每次可以只輸入一個(gè)數(shù)字,回車確認(rèn),例如:“123”,只能被一個(gè)nextInt讀取。
也可以輸入一組數(shù)字,例如:“123 456 789”,每個(gè)數(shù)字之間用空格(一個(gè)或多個(gè)空格)隔開,可被多個(gè)nextInt()讀取,空格及回車不會(huì)被讀取。(注:輸入數(shù)字中不能夾雜除數(shù)字、空格、回車之外的其他字符,否則會(huì)報(bào)錯(cuò))
2、nextDouble()的用法同理nextInt(),注意:nextInt無法讀取小數(shù),否則會(huì)報(bào)錯(cuò)。
同理nextByte()nextFloat(),nextLong(),nextShot(),當(dāng)某個(gè)方法讀取的數(shù)字超過自身范圍,則會(huì)報(bào)錯(cuò)。
3、next()方法遇到第一個(gè)掃描有效字符,即第一個(gè)非空格非換行符后面開始,一直獲取到下一個(gè)空格,換行符之前的,單個(gè)字符串。
4、nextLine()可以掃描到一行內(nèi)容(當(dāng)前行,光標(biāo)所在行的內(nèi)容,包括空格、回車)并作為一個(gè)字符串而被獲取到。
此處重點(diǎn)講一下next()和nextLine()的區(qū)別
next():只讀取輸入直到空格。它不能讀兩個(gè)由空格或符號(hào)隔開的單詞。此外,next()在讀取輸入后將光標(biāo)放在同一行中。(next()只讀空格之前的數(shù)據(jù),并且光標(biāo)指向本行)
nextLine():讀取輸入,包括單詞之間的空格和除回車以外的所有符號(hào)(即。它讀到行尾)。讀取輸入后,nextLine()將光標(biāo)定位在下一行。
代碼演示:
public class Text { public static void main(String []args) { Scanner input = new Scanner(System.in); System.out.println("請(qǐng)輸入一個(gè)字符串(中間能加空格或符號(hào))"); String a = input.nextLine(); System.out.println("請(qǐng)輸入一個(gè)字符串(中間不能加空格或符號(hào))"); String b = input.next(); System.out.println("請(qǐng)輸入一個(gè)整數(shù)"); int c; c = input.nextInt(); System.out.println("請(qǐng)輸入一個(gè)double類型的小數(shù)"); double d = input.nextDouble(); System.out.println("請(qǐng)輸入一個(gè)float類型的小數(shù)"); float f = input.nextFloat(); System.out.println("按順序輸出abcdf的值:"); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(f); } }
運(yùn)行結(jié)果:
請(qǐng)輸入一個(gè)字符串(中間能加空格或符號(hào))
我愛祖國!
請(qǐng)輸入一個(gè)字符串(中間不能加空格或符號(hào))
ILoveChina
請(qǐng)輸入一個(gè)整數(shù)
520
請(qǐng)輸入一個(gè)double類型的小數(shù)
12.26e3
請(qǐng)輸入一個(gè)float類型的小數(shù)
3.1415926
按順序輸出abcdf的值:
我愛祖國!
ILoveChina
520
12260.0
3.1415925
總結(jié)
到此這篇關(guān)于Java中Scanner用法實(shí)例解析的文章就介紹到這了,更多相關(guān)Java中Scanner用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring?boot?mybatis日志輸出到控制臺(tái)的方法實(shí)踐
在開發(fā)過程中我們往往需要打印出SQL語句,這樣就方便我們監(jiān)控問題,本文主要介紹了spring?boot?mybatis日志輸出到控制臺(tái)的方法實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05Spring?cloud網(wǎng)關(guān)gateway進(jìn)行websocket路由轉(zhuǎn)發(fā)規(guī)則配置過程
這篇文章主要介紹了Spring?cloud網(wǎng)關(guān)gateway進(jìn)行websocket路由轉(zhuǎn)發(fā)規(guī)則配置過程,文中還通過實(shí)例代碼介紹了Spring?Cloud?Gateway--配置路由的方法,需要的朋友可以參考下2023-04-04Java亂碼問題解決方法_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
開發(fā)java應(yīng)用出現(xiàn)亂碼是很常見的,畢竟現(xiàn)在unicode的使用還不是很廣泛,下面給大家分享Java亂碼問題解決方法,感興趣的朋友一起看看吧2017-07-07Java使用跳轉(zhuǎn)結(jié)構(gòu)實(shí)現(xiàn)隊(duì)列和棧流程詳解
這篇文章主要介紹了Java使用跳轉(zhuǎn)結(jié)構(gòu)實(shí)現(xiàn)隊(duì)列和棧流程,連續(xù)結(jié)構(gòu)和跳轉(zhuǎn)結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)中常見的兩種基本數(shù)據(jù)結(jié)構(gòu),而我們本次的主角棧和隊(duì)列都 既可以使用使用跳轉(zhuǎn)結(jié)構(gòu)實(shí)現(xiàn)也可以使用連續(xù)結(jié)構(gòu)實(shí)現(xiàn)2023-04-04