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