Java中import java.util.Scanner的用處詳解
java.util.Scanner的用處
1、Scanner這個(gè)類(lèi)最實(shí)用的地方表現(xiàn)在獲取控制臺(tái)輸入
java.util.Scanner 是 Java5 的新特征,我們可以通過(guò) Scanner 類(lèi)來(lái)獲取用戶(hù)的輸入。
首先要導(dǎo)入包 import java.util.Scanner;
- Scanner類(lèi)的創(chuàng)建對(duì)象:
Scanner S=new Scanner(System.in);
2、Scanner類(lèi)中常用的方法next()和nextLine()的區(qū)別
next()
:作為字符串輸入的方法,自動(dòng)屏蔽掉輸入的分隔符,如空格、Tab鍵、回車(chē)鍵,直到遇到有效地字符輸入后,則將這些分隔符作為結(jié)束標(biāo)志;nextLine()
:則是將從開(kāi)始運(yùn)行所輸入的所有的字符,包括分隔符,均作為控制臺(tái)輸入,只有在遇到enter回車(chē)鍵時(shí),才結(jié)束輸入,并將所有的內(nèi)容作為輸入內(nèi)容傳給Scanner;
首先咱們嘗試next這種方式接收
public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 從鍵盤(pán)接收數(shù)據(jù) // next方式接收字符串 System.out.println("next方式接收:"); // 判斷是否還有輸入 if (scan.hasNext()) { String str1 = scan.next(); System.out.println("輸入的數(shù)據(jù)為:" + str1); } scan.close(); }
結(jié)果為:
很明顯,“晴晴”兩字并未輸出出來(lái),原因就是剛剛講過(guò)得啦~~~
【next():作為字符串輸入的方法,自動(dòng)屏蔽掉輸入的分隔符,如空格、Tab鍵、回車(chē)鍵,直到遇到有效地字符輸入后,則將這些分隔符作為結(jié)束標(biāo)志;】
接下來(lái)咱們嘗試nextLine這種方式接收
public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 從鍵盤(pán)接收數(shù)據(jù) // next方式接收字符串 System.out.println("nextLine方式接收:"); // 判斷是否還有輸入 if (scan.hasNext()) { String str1 = scan.nextLine(); System.out.println("輸入的數(shù)據(jù)為:" + str1); } scan.close(); }
結(jié)果為:
看到這里,二者的區(qū)別就很明顯了:
通俗的說(shuō),就是接收特殊字符的時(shí)候是否被識(shí)別為結(jié)束符。
接收整數(shù)和浮點(diǎn)數(shù)是一個(gè)道理啦~
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在jmeter的beanshell中用java獲取系統(tǒng)當(dāng)前時(shí)間的簡(jiǎn)單實(shí)例
這篇文章介紹了在jmeter的beanshell中用java獲取系統(tǒng)當(dāng)前時(shí)間的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-09-09Java中CAS機(jī)制實(shí)現(xiàn)方法詳解
傳統(tǒng)的并發(fā)控制手段如synchronized和ReentrantLock雖有效防止資源競(jìng)爭(zhēng),卻可能引起性能開(kāi)銷(xiāo),相比之下,CAS(CompareAndSwap)提供一種輕量級(jí)的樂(lè)觀鎖策略,通過(guò)硬件級(jí)別的原子指令實(shí)現(xiàn)無(wú)鎖并發(fā),提高性能,需要的朋友可以參考下2024-09-09利用java、js或mysql計(jì)算高德地圖中兩坐標(biāo)之間的距離
最近因?yàn)楣ぷ鞯男枨?,需要?jì)算出高德地圖中兩個(gè)坐標(biāo)的距離,通過(guò)查找相關(guān)資料發(fā)現(xiàn)了多種實(shí)現(xiàn)的方法,下面這篇文章主要給大家介紹了關(guān)于利用java、js或mysql計(jì)算高德地圖中兩坐標(biāo)之間距離的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-10-10基于Mybatis-Plus攔截器實(shí)現(xiàn)MySQL數(shù)據(jù)加解密的示例代碼
用戶(hù)的一些敏感數(shù)據(jù),例如手機(jī)號(hào)、郵箱、身份證等信息,在數(shù)據(jù)庫(kù)以明文存儲(chǔ)時(shí)會(huì)存在數(shù)據(jù)泄露的風(fēng)險(xiǎn),因此需要進(jìn)行加密,解密等功能,接下來(lái)本文就給大家介紹基于Mybatis-Plus攔截器實(shí)現(xiàn)MySQL數(shù)據(jù)加解密,需要的朋友可以參考下2023-07-07Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的定時(shí)器代碼解析
這篇文章主要介紹了Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的定時(shí)器代碼解析,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12springboot簡(jiǎn)單集成Security配置的教程
這篇文章主要介紹了springboot簡(jiǎn)單集成Security配置的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03