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