Java控制臺(tái)輸入scanner的方法及代碼詳解
Java控制臺(tái)輸入scanner的方法有哪些?腳本之家的小編來(lái)告訴大家。
含義
讀取控制臺(tái)數(shù)據(jù)
常用的方法
Scanner scanner = new Scanner(System.in); //創(chuàng)建Scanner對(duì)象
scanner.nextLine(); //讀取一行內(nèi)容,以換行符為結(jié)束,
它返回的是Enter鍵之前的所有字符,它是可以得到帶空格的字符串的。
也就是說(shuō)輸入一串字符,它就可以接受所有字符包括空格,但是遇到回車Enter就會(huì)停止錄入,只錄入前面的東西。
scanner.next(); //讀取內(nèi)容,以空格或tab為結(jié)束
它會(huì)自動(dòng)地消除有效字符之前的空格,只返回輸入的字符,不會(huì)得到帶空格的字符串。
也就是說(shuō)如果輸入了一串字符,到了有空格的時(shí)候就會(huì)停止錄入,只錄入空格前面的東西,空格后面的東西(包括分隔的空格都會(huì)保留在緩存區(qū)域)
除了空格以外,Tab鍵和Enter鍵都被視為分隔符(結(jié)束符)。
scanner.nextInt(); //讀取內(nèi)容,以空格或tab為結(jié)束【輸入的內(nèi)容必須是int,否則報(bào)錯(cuò)】
scanner.nextFloat(); //讀取內(nèi)容,以空格或tab為結(jié)束【輸入的內(nèi)容必須是float,否則報(bào)錯(cuò)】
scanner.nextDouble(); //讀取內(nèi)容,以空格或tab為結(jié)束【輸入的內(nèi)容必須是double,否則報(bào)錯(cuò)】
案例
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請(qǐng)輸入內(nèi)容1"); String content = scanner.nextLine(); System.out.println(content); System.out.println("請(qǐng)輸入內(nèi)容2"); content = scanner.next(); System.out.println(content); System.out.println("請(qǐng)輸入年齡"); int age = scanner.nextInt(); System.out.println(age); System.out.println("請(qǐng)輸入成績(jī)"); float score = scanner.nextFloat(); System.out.println(score); }
案例二
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("輸入age"); int age = scanner.nextInt(); //空格、tab //scanner.nextLine(); //思考為什么不加這樣會(huì)有問(wèn)題??? System.out.println(age); System.out.println("輸入內(nèi)容"); String content =scanner.nextLine(); //讀取一行 System.out.println(content); }
知識(shí)點(diǎn)擴(kuò)展:
Scanner的使用
JDK給我們提供了成千上萬(wàn)個(gè)類供我們直接使用,而Scanner就是這眾多類里的一個(gè)最常用的一個(gè)類,既然它是一個(gè)類,我們使用它的方法和使用我們自己寫(xiě)的類的方法基本一致。
方法基本如下:
1.導(dǎo)包:就是指出需要使用的類在哪一個(gè)位置,格式一般為import 包名稱.類名稱,Scanner導(dǎo)包語(yǔ)句便為import java.util.Scanner對(duì)于和當(dāng)前類屬于同一個(gè)包的時(shí)候,導(dǎo)包語(yǔ)句可以不寫(xiě),JDK里提供的類僅僅只有java.lang下的類不需要導(dǎo)包。
2.創(chuàng)建:按照格式創(chuàng)建對(duì)象,格式一般為 類名稱對(duì)象名 = new 類名稱(),用上面的Scanner來(lái)創(chuàng)建就是Scanner sc = new Scanner(),這里的sc就是我們新創(chuàng)建的一個(gè)對(duì)象名,在新建的Scanner對(duì)象里,我們需要傳入?yún)?shù),如果是我們需要接收鍵盤(pán)上的數(shù)據(jù),那這個(gè)參數(shù)就是System.in,即Scanner sc = new Scanner(System.in)
3.使用。根據(jù)對(duì)象名來(lái)使用成員變量和成員方法,next是獲得從鍵盤(pán)上輸入的數(shù)據(jù),String str = sc.next()就是把鍵盤(pán)輸入的數(shù)據(jù)存到變量里面去,我們從鍵盤(pán)輸入的數(shù)據(jù)的類型默認(rèn)為字符串,想要得到其他類型的數(shù)據(jù),我們可以在next后面添加相應(yīng)的類型,比如nextInt()就是將輸入的字符串轉(zhuǎn)為整數(shù)。簡(jiǎn)單來(lái)說(shuō),鍵盤(pán)輸入的內(nèi)容就是next()方法的返回值。
到此這篇關(guān)于Java控制臺(tái)輸入scanner的方法及代碼詳解的文章就介紹到這了,更多相關(guān)Java控制臺(tái)輸入scanner的方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA對(duì)使用了第三方依賴jar包的非Maven項(xiàng)目打jar包的問(wèn)題(圖文詳解)
這篇文章主要介紹了IDEA對(duì)使用了第三方依賴jar包的非Maven項(xiàng)目打jar包的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07從最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate
本文會(huì)介紹從一個(gè)最基本的java工程,到Web工程,到集成Spring、SpringMVC、SpringDataJPA+Hibernate,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05詳解用maven搭建springboot環(huán)境的方法
本篇文章主要介紹了詳解用maven搭建springboot環(huán)境的方法,這里整理了詳細(xì)的代碼,非常具有實(shí)用價(jià)值,有需要的小伙伴可以參考下2017-08-08java+socket實(shí)現(xiàn)簡(jiǎn)易局域網(wǎng)聊天室
這篇文章主要為大家詳細(xì)介紹了java+socket實(shí)現(xiàn)簡(jiǎn)易局域網(wǎng)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05解決使用@Value(${×××))從properties文件取值的坑
這篇文章主要介紹了解決使用@Value(${×××))從properties文件取值的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07關(guān)于Filter中獲取請(qǐng)求體body后再次讀取的問(wèn)題
這篇文章主要介紹了關(guān)于Filter中獲取請(qǐng)求體body后再次讀取的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03