《《鍵盤輸入數(shù)據(jù)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《鍵盤輸入數(shù)據(jù)》PPT課件.ppt(3頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Java語言除了具有輸出數(shù)據(jù)的功能外,還具有輸入數(shù)據(jù)的功能。輸入數(shù)據(jù)的方法有多種,最常見的是鍵盤輸入數(shù)據(jù)。 1鍵盤輸入字符 與輸出語句System.out.print()對(duì)應(yīng)的輸入語句是:System.in.read(),它們同屬于java.io包,所以要先導(dǎo)入java.io包才可以使用System.in.read()語句。System.in.read()可以讀取通過鍵盤輸入的一個(gè)字符,我們可以使用int類型的變量保存其ASCII碼值,也可以將其轉(zhuǎn)換為char類型數(shù)據(jù)使用char類型變量保存該數(shù)據(jù)。 當(dāng)程序運(yùn)行到System.in.read()語句時(shí),會(huì)暫停等待用戶通過鍵盤輸入數(shù)據(jù)。用戶可以輸
2、入一個(gè)或者多個(gè)字符,然后按Enter鍵。System.in.read()語句只會(huì)讀取第一個(gè)字符,然后繼續(xù)運(yùn)行下面的語句。,鍵盤輸入數(shù)據(jù),在使用System.in.read()方法讀入數(shù)據(jù)時(shí),需要注意如下幾點(diǎn): (1)System.in.read()語句必須包含在try塊中,且try塊后面應(yīng)該有一個(gè)可接收IOException異常的catch塊。如下例所示: try ch = System.in.read(); catch(IOException e) (2)執(zhí)行System.in.read()方法將從鍵盤緩沖區(qū)讀入一個(gè)字節(jié)的數(shù)據(jù),然而返回的卻是16比特的整型量的低位字節(jié)是真正輸入的數(shù)
3、據(jù),其高位字節(jié)是全零。當(dāng)鍵盤緩沖區(qū)中沒有未被讀取的數(shù)據(jù)時(shí),執(zhí)行System.in.read()將導(dǎo)致系統(tǒng)轉(zhuǎn)入阻塞(block)狀態(tài)。在阻塞狀態(tài)下,當(dāng)前流程將停留在上述語句位置且整個(gè)程序被掛起,等待用戶輸入一個(gè)鍵盤數(shù)據(jù)后,才能繼續(xù)運(yùn)行下去;所以程序中有時(shí)利用System.in.read()語句來達(dá)到暫時(shí)保留屏幕的目的。,2鍵盤輸入字符串 如果需要通過鍵盤鍵入一個(gè)字符串,則可以通過創(chuàng)建BufferedReader類的對(duì)象來實(shí)現(xiàn),方法如下: BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String
4、 s = in.readLine(); 第一條語句的作用是創(chuàng)建一個(gè)字符串暫存區(qū)對(duì)象in,用于保存用戶鍵入的字符串。in.readLine()的作用是讀取保存在暫存區(qū)中的字符串。 第二條語句的作用是通過對(duì)象in調(diào)用BufferedReader類中的一個(gè)實(shí)例方法readLine(),來讀取對(duì)象in中的字符串,并保存到String類的對(duì)象變量s中。 因?yàn)锽ufferedReader類是java.io包中的一個(gè)數(shù)據(jù)輸入類,所以要先導(dǎo)入java.io包才可以使用BufferedReader類及其方法。 當(dāng)程序運(yùn)行到in.readLine()語句時(shí),會(huì)暫停等待用戶通過鍵盤輸入數(shù)據(jù)。用戶可以輸入一個(gè)或者多個(gè)字符,然后按Enter鍵。in.readLine()語句會(huì)讀取暫存區(qū)中的字符串,然后繼續(xù)運(yùn)行下面的語句。,