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ō)輸入一串字符,它就可以接受所有字符包括空格,但是遇到回車(chē)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è)類(lèi)供我們直接使用,而Scanner就是這眾多類(lèi)里的一個(gè)最常用的一個(gè)類(lèi),既然它是一個(gè)類(lèi),我們使用它的方法和使用我們自己寫(xiě)的類(lèi)的方法基本一致。
方法基本如下:
1.導(dǎo)包:就是指出需要使用的類(lèi)在哪一個(gè)位置,格式一般為import 包名稱(chēng).類(lèi)名稱(chēng),Scanner導(dǎo)包語(yǔ)句便為import java.util.Scanner對(duì)于和當(dāng)前類(lèi)屬于同一個(gè)包的時(shí)候,導(dǎo)包語(yǔ)句可以不寫(xiě),JDK里提供的類(lèi)僅僅只有java.lang下的類(lèi)不需要導(dǎo)包。
2.創(chuàng)建:按照格式創(chuàng)建對(duì)象,格式一般為 類(lèi)名稱(chēng)對(duì)象名 = new 類(lèi)名稱(chēng)(),用上面的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ù)的類(lèi)型默認(rèn)為字符串,想要得到其他類(lèi)型的數(shù)據(jù),我們可以在next后面添加相應(yīng)的類(lèi)型,比如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)文章
JUC系列學(xué)習(xí)工具類(lèi)CountDownLatch詳解
這篇文章主要介紹了JUC系列學(xué)習(xí)工具類(lèi)CountDownLatch詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下2022-08-08
SpringBoot集成vue的開(kāi)發(fā)解決方案
這篇文章主要介紹了SpringBoot集成vue的開(kāi)發(fā)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
利用IDEA社區(qū)版創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)圖文教程
大家應(yīng)該都知道Idea社區(qū)版本,默認(rèn)是不能創(chuàng)建SpringBoot項(xiàng)目的,下面這篇文章主要給大家介紹了關(guān)于利用IDEA社區(qū)版創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
IDEA maven引入SSL證書(shū)校驗(yàn)問(wèn)題及處理
這篇文章主要討論了在Maven項(xiàng)目中遇到依賴(lài)導(dǎo)入問(wèn)題,特別是關(guān)于PKIX路徑構(gòu)建失敗的錯(cuò)誤,文章提供了三種解決方法:手動(dòng)下載依賴(lài)、忽略SSL證書(shū)校驗(yàn)以及生成并導(dǎo)入SSL證書(shū),每種方法都有詳細(xì)的步驟和示例代碼,幫助開(kāi)發(fā)者解決這個(gè)問(wèn)題2025-02-02
關(guān)于動(dòng)態(tài)參數(shù)使用@PathVariable的解析
這篇文章主要介紹了關(guān)于動(dòng)態(tài)參數(shù)使用@PathVariable的解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
springboot日期格式化全局LocalDateTime詳解
文章主要分析了Spring Boot中ObjectMapper對(duì)象的序列化和反序列化過(guò)程,并具體探討了日期格式化問(wèn)題,通過(guò)分析Spring Boot的自動(dòng)配置類(lèi)JacksonAutoConfiguration,文章詳細(xì)說(shuō)明了ObjectMapper對(duì)象的創(chuàng)建和配置過(guò)程2025-02-02

