java中Scanner s = new Scanner(System.in);分別是什么意思?
Scanner s = new Scanner(System.in);每一塊分別是什么意思?以及int x = s.nextInt();分別每一塊都代表什么意思?我是初學(xué)java搞不懂這些,老師也沒講解,但我很好奇,很想弄懂他們。Scanner是一個類,nextDouble()是Scanner的成員函數(shù),System.in作為參數(shù)傳遞給Scanner的構(gòu)造函數(shù),使Scanner用鍵盤作為輸入,然后用new在內(nèi)存中實例化一個Scanner出來,使得其它變量能調(diào)用這塊內(nèi)存區(qū)。
Scanner類簡介:
Java 5添加了java.util.Scanner類,這是一個用于掃描輸入文本的新的實用程序。它是以前的StringTokenizer和Matcher類之間的某種結(jié)合。
由于任何數(shù)據(jù)都必須通過同一模式的捕獲組檢索或通過使用一個索引來檢索文本的各個部分。于是可以結(jié)合使用正則表達(dá)式和從輸入流中檢索特定類型數(shù)據(jù)項的方法。
這樣,除了能使用正則表達(dá)式之外,Scanner類還可以任意地對字符串和基本類型(如int和double)的數(shù)據(jù)進(jìn)行分析。借助于Scanner,可以針對任何要處理的文本內(nèi)容編寫自定義的語法分析器。
擴展資料
System.in作為InputStream類的對象實現(xiàn)標(biāo)準(zhǔn)輸入,可以調(diào)用它的read方法來讀取鍵盤數(shù)據(jù)。read方法如下:
int read()
從輸入流中讀取數(shù)據(jù)的下一個字節(jié)。
Java通過系統(tǒng)類System實現(xiàn)標(biāo)準(zhǔn)輸入/輸出的功能,定義了3個流變量:in,out,和err.這3個流在Java中都定義為靜態(tài)變量,可以直接通過System類進(jìn)行調(diào)用。
System.in表示標(biāo)準(zhǔn)輸入,通常指從鍵盤輸入數(shù)據(jù);System.out表示標(biāo)準(zhǔn)輸出,通常指把數(shù)據(jù)輸出到控制臺或者屏幕;System.err表示標(biāo)準(zhǔn)錯誤輸出,通常指把數(shù)據(jù)輸出到控制臺或者屏幕。
簡單標(biāo)準(zhǔn)輸入 :
System.in作為字節(jié)輸入流類InputStream的對象實現(xiàn)標(biāo)準(zhǔn)輸入,通過read()方法從鍵盤接受數(shù)據(jù)。
int read()
int read(byte b[])
int read(byte b[],int offset,int len)
意思是:通過new Scanner(System.in)創(chuàng)建一個Scanner,控制臺會一直等待輸入,直到敲回車鍵結(jié)束,把所輸入的內(nèi)容傳給Scanner,作為掃描對象。
要獲取輸入的內(nèi)容,則只需要調(diào)用Scanner的nextLine()方法
舉例:
public class TestScanner {
public static void main(String[] args) { //定義main方法
Scanner s = new Scanner(System.in); //定義scanner,等待輸入
System.out.println("請輸入字符串:");
while (true) {
String line = s.nextLine(); //讀取輸入內(nèi)容
if (line.equals("exit")) break; //如果讀取到exit,則退出輸入
System.out.println(">>>" + line); //打印輸入內(nèi)容
}
}
}
具體如下:
1、簡介
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規(guī)定一定的運算方式,是計算體系按照該計算方式運行,并最終得到相應(yīng)結(jié)果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計算體系之間交流的過程就是編程。
2、匯編程序
匯編程序。使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統(tǒng)的硬件結(jié)構(gòu),所以從程序設(shè)計本身上來看仍然是低效率的、繁瑣的。但正是由于匯編語言與計算機硬件系統(tǒng)關(guān)系密切,在某些特定的場合,如對時空效率要求很高的系統(tǒng)核心程序以及實時控制程序等,迄今為止匯編語言仍然是十分有效的程序設(shè)計工具。
3、執(zhí)行原理
計算機對除機器語言以外的源程序不能直接識別、理解和執(zhí)行,都必須通過某種方式轉(zhuǎn)換為計算機能夠直接執(zhí)行的。這種將高級編程硬件程序設(shè)計語言編寫的源程序轉(zhuǎn)換到機器目標(biāo)程序的方式有兩種:解釋方式和編譯方式。
意思是:通過new Scanner(System.in)創(chuàng)建一個Scanner,控制臺會一直等待輸入,直到敲回車鍵結(jié)束,把所輸入的內(nèi)容傳給Scanner,作為掃描對象。
要獲取輸入的內(nèi)容,則只需要調(diào)用Scanner的nextLine()方法
舉例:
public class TestScanner {
public static void main(String[] args) { //定義main方法
Scanner s = new Scanner(System.in); //定義scanner,等待輸入
System.out.println("請輸入字符串:");
while (true) {
String line = s.nextLine(); //讀取輸入內(nèi)容
if (line.equals("exit")) break; //如果讀取到exit,則退出輸入
System.out.println(">>>" + line); //打印輸入內(nèi)容
}
}
}
Scanner是import java.util.Scanner中的類,s是變量,System.in是標(biāo)準(zhǔn)輸出,int x=s.nextInt();是鍵盤輸入一個整數(shù)。
有關(guān)Java System.in() 的問題
我的疑問是:
在啟動程序后,輸入初始值(args[0]),然后繼續(xù)運行程序,再針對System.in()輸入, 不過問題就是,我無法結(jié)束輸入?!!! 這樣程序就在我的輸入環(huán)節(jié)卡住了,請問高手,這個問題怎么解決? 怎么結(jié)束system.in()的輸入? 謝謝
args[0] 應(yīng)該是通過命令行輸入的啊
里面加個break;搞定!其實它就是進(jìn)入死循環(huán)了 break跳出來完事!
while((i=r.read())!=-1){
///...........
break;
}
r.close();
你的調(diào)用的r2w方法不是把in給關(guān)閉了嗎?
有什么奇怪的,真是。(開玩笑的說法)
需要在用之前設(shè)置一下的,網(wǎng)上搜一下,這個不常用,我以前做的時候 搜了一下找到了,然后沒怎么記住。
java中的System.in如何理解,請高手指教一下,System的意思,in的意思,in是對象嗎,System是類嗎?
讀取標(biāo)準(zhǔn)輸入設(shè)備數(shù)據(jù)。
System是類沒錯,in是一個標(biāo)準(zhǔn)輸入流對象,如從鍵盤輸入的內(nèi)容。System.in的意思就是在system類中有一個類變量變量名稱是in,而這個in就是剛才說到的是一個標(biāo)準(zhǔn)輸入流對象
System是類沒錯,in是一個標(biāo)準(zhǔn)輸入流對象,如從鍵盤輸入的內(nèi)容。System.in的意思就是在system類中有一個類變量變量名稱是in,而這個in就是剛才說到的是一個標(biāo)準(zhǔn)輸入流對象
System說白了就是一個類,in是它的一個靜態(tài)的屬性,所以System在引用它的時候才會是用大寫的,就是System.in,那這個類有什么作用呢?其實也就是一個用于控制標(biāo)準(zhǔn)輸入輸出的,何謂標(biāo)準(zhǔn)輸入輸出的呢?就是我們最常見的,一般都是命令行窗口,System.in負(fù)責(zé)從健盤輸入,System.out負(fù)責(zé)從命令窗口輸出 ,希望能有所幫助哈
System類位于java.lang包下,不能被實例化,該類包含類一系列靜態(tài)的成員和方法,其中包括標(biāo)準(zhǔn)的輸入流對象in,輸出流對象out,in是System類的一個靜態(tài)成員,一個標(biāo)準(zhǔn)的輸入流對象(InputStream),由系統(tǒng)自動創(chuàng)建,通過System.in直接引用,可以從控制臺讀取輸入信息。
相關(guān)推薦:
關(guān)于著作權(quán)法(中華人民共和國著作法)
刑事案底簽證(有案底能辦簽證出國嗎)
偷盜事件立案(刑法中偷盜罪的立案標(biāo)準(zhǔn)是什么)
快遞遲緩賠償(京東不發(fā)貨怎么投訴 如何申請賠償)
快遞賠償幾折(快遞丟失了快遞公司怎樣賠償)