Java中鍵盤輸入的幾種常見方式小結(jié)
一、IO流
在Java的輸入中,是以輸入流的形式進入程序,因此無法直接指定輸入的類型,僅能讀取鍵盤上的內(nèi)容,返回一個ASCII碼,所以在使用輸入流的時候,本質(zhì)是一串ASCII碼,需要將類型強轉(zhuǎn)至char,才能正確顯示。
在Java的IO流中,鍵盤所輸入的會先存放到緩沖流中,當(dāng)按下Enter鍵的時候,將緩重流中的數(shù)據(jù)寫入到內(nèi)存中,因為此性質(zhì),我們無法在鍵盤輸入的過程中直接獲取內(nèi)容。
class InputDemo { public static void main(String[] args) throws java.io.IOException{ int input; input=(int) System.in.read(); System.out.println(input); } }
當(dāng)我們輸入t tt,此時輸出的值為其ASCII碼116 116116,當(dāng)我們將里面的i n t intint改為c h a r charchar,程序?qū)⒄o@示出字母t tt。
class InputDemo { public static void main(String[] args) throws java.io.IOException{ char input; input=(char) System.in.read(); System.out.println(input); } }
在System.io.read()函數(shù)中,read是等待回車鍵刷取緩存的內(nèi)容,因此此函數(shù)不能吸收回車和換行符,但readLine函數(shù)可以吸收回車和換行。若只是用read函數(shù)可以采用寫兩個read進行吸收回車。
因為Java的異常捕獲機制,我們需要在函數(shù)的開頭加上throws java.io.IOException
二、Scanner類
從Java5開始,Java引入了Scanner類作為輸入的類型。由上可知,Java的輸入是以流的方式進入,只能以字符串的形式進入,但Scanner類支持以數(shù)據(jù)類型讀取內(nèi)容。
由于我們是使用Scanner這個類進行輸入控制,因此首先我們需要構(gòu)造出這個類的對象。
Scanner input=new Scanner(System.in);
其中Scanner的函數(shù)常見的為.nextxxx,xxx為數(shù)據(jù)類型,若類型為字符串,需要使用.nextLine或者.next。.next相當(dāng)于C/C++中的scanf和cin,遇到空格或回車就停止。.nextLine相對于C/C++中的gets。
class InputDemo { public static void main(String[] args){ Scanner input=new Scanner(System.in); String in=input.next(); System.out.println(in); } }
三 、BufferedReader寫入
以上兩種方法是用的字符輸入流的形式,BufferedReader采用的是緩存輸入流的形式。
同樣,此類在java.io.*內(nèi),因此我們需要在開頭導(dǎo)入包。
import java.io.*;//*表示此目錄下的所有 import java.io.BufferedReader;//直接導(dǎo)入
BufferedReader和正常的io流成員類型基本一致,唯一不同是類的構(gòu)建,BufferedReader需要使用字符輸入流作為基類。
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
到此這篇關(guān)于Java中鍵盤輸入的幾種常見方式小結(jié)的文章就介紹到這了,更多相關(guān)Java 鍵盤輸入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于集合和字符串的互轉(zhuǎn)實現(xiàn)方法
下面小編就為大家?guī)硪黄P(guān)于集合和字符串的互轉(zhuǎn)實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08SpringBoot 整合 dubbo xml實現(xiàn)代碼示例
這篇文章主要介紹了SpringBoot 整合 dubbo xml實現(xiàn)代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03SpringBoot項目創(chuàng)建單元測試的流程步驟
在日常開發(fā)的過程中,對自己的代碼進行單元測試是個非常重要的過程,一方面可以最小范圍的針對一個方法進行測試,提高測試的簡便性以及測試的成本,本篇文章主要是為了總結(jié)一下如何優(yōu)雅的在Springboot項目中使用單元測試去測試功能,需要的朋友可以參考下2024-11-11