Java控制臺輸入scanner的方法及代碼詳解
Java控制臺輸入scanner的方法有哪些?腳本之家的小編來告訴大家。
含義
讀取控制臺數(shù)據(jù)
常用的方法
Scanner scanner = new Scanner(System.in); //創(chuàng)建Scanner對象
scanner.nextLine(); //讀取一行內(nèi)容,以換行符為結(jié)束,
它返回的是Enter鍵之前的所有字符,它是可以得到帶空格的字符串的。
也就是說輸入一串字符,它就可以接受所有字符包括空格,但是遇到回車Enter就會停止錄入,只錄入前面的東西。
scanner.next(); //讀取內(nèi)容,以空格或tab為結(jié)束
它會自動地消除有效字符之前的空格,只返回輸入的字符,不會得到帶空格的字符串。
也就是說如果輸入了一串字符,到了有空格的時(shí)候就會停止錄入,只錄入空格前面的東西,空格后面的東西(包括分隔的空格都會保留在緩存區(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("請輸入內(nèi)容1");
String content = scanner.nextLine();
System.out.println(content);
System.out.println("請輸入內(nèi)容2");
content = scanner.next();
System.out.println(content);
System.out.println("請輸入年齡");
int age = scanner.nextInt();
System.out.println(age);
System.out.println("請輸入成績");
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(); //思考為什么不加這樣會有問題???
System.out.println(age);
System.out.println("輸入內(nèi)容");
String content =scanner.nextLine(); //讀取一行
System.out.println(content);
}知識點(diǎn)擴(kuò)展:
Scanner的使用
JDK給我們提供了成千上萬個(gè)類供我們直接使用,而Scanner就是這眾多類里的一個(gè)最常用的一個(gè)類,既然它是一個(gè)類,我們使用它的方法和使用我們自己寫的類的方法基本一致。
方法基本如下:
1.導(dǎo)包:就是指出需要使用的類在哪一個(gè)位置,格式一般為import 包名稱.類名稱,Scanner導(dǎo)包語句便為import java.util.Scanner對于和當(dāng)前類屬于同一個(gè)包的時(shí)候,導(dǎo)包語句可以不寫,JDK里提供的類僅僅只有java.lang下的類不需要導(dǎo)包。
2.創(chuàng)建:按照格式創(chuàng)建對象,格式一般為 類名稱對象名 = new 類名稱(),用上面的Scanner來創(chuàng)建就是Scanner sc = new Scanner(),這里的sc就是我們新創(chuàng)建的一個(gè)對象名,在新建的Scanner對象里,我們需要傳入?yún)?shù),如果是我們需要接收鍵盤上的數(shù)據(jù),那這個(gè)參數(shù)就是System.in,即Scanner sc = new Scanner(System.in)
3.使用。根據(jù)對象名來使用成員變量和成員方法,next是獲得從鍵盤上輸入的數(shù)據(jù),String str = sc.next()就是把鍵盤輸入的數(shù)據(jù)存到變量里面去,我們從鍵盤輸入的數(shù)據(jù)的類型默認(rèn)為字符串,想要得到其他類型的數(shù)據(jù),我們可以在next后面添加相應(yīng)的類型,比如nextInt()就是將輸入的字符串轉(zhuǎn)為整數(shù)。簡單來說,鍵盤輸入的內(nèi)容就是next()方法的返回值。
到此這篇關(guān)于Java控制臺輸入scanner的方法及代碼詳解的文章就介紹到這了,更多相關(guān)Java控制臺輸入scanner的方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JUC系列學(xué)習(xí)工具類CountDownLatch詳解
這篇文章主要介紹了JUC系列學(xué)習(xí)工具類CountDownLatch詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下2022-08-08
利用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ì)圖文教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
關(guān)于動態(tài)參數(shù)使用@PathVariable的解析
這篇文章主要介紹了關(guān)于動態(tài)參數(shù)使用@PathVariable的解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
springboot日期格式化全局LocalDateTime詳解
文章主要分析了Spring Boot中ObjectMapper對象的序列化和反序列化過程,并具體探討了日期格式化問題,通過分析Spring Boot的自動配置類JacksonAutoConfiguration,文章詳細(xì)說明了ObjectMapper對象的創(chuàng)建和配置過程2025-02-02

