Java中鍵盤輸入的幾種常見方式小結(jié)
一、IO流
在Java的輸入中,是以輸入流的形式進入程序,因此無法直接指定輸入的類型,僅能讀取鍵盤上的內(nèi)容,返回一個ASCII碼,所以在使用輸入流的時候,本質(zhì)是一串ASCII碼,需要將類型強轉(zhuǎn)至char,才能正確顯示。
在Java的IO流中,鍵盤所輸入的會先存放到緩沖流中,當按下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);
}
}當我們輸入t tt,此時輸出的值為其ASCII碼116 116116,當我們將里面的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相當于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)文章
詳解Spring 框架中切入點 pointcut 表達式的常用寫法
這篇文章主要介紹了詳解Spring 框架中切入點 pointcut 表達式的常用寫法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
spring boot項目打包成war在tomcat運行的全步驟
這篇文章主要給大家介紹了關(guān)于spring boot項目打包成war在tomcat運行的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
java使用任務(wù)架構(gòu)執(zhí)行任務(wù)調(diào)度示例
在Java 5.0之前啟動一個任務(wù)是通過調(diào)用Thread類的start()方法來實現(xiàn)的,5.0里提供了一個新的任務(wù)執(zhí)行架構(gòu)使你可以輕松地調(diào)度和控制任務(wù)的執(zhí)行,并且可以建立一個類似數(shù)據(jù)庫連接池的線程池來執(zhí)行任務(wù),下面看一個示例2014-01-01
java實戰(zhàn)案例之用戶注冊并發(fā)送郵件激活/發(fā)送郵件驗證碼
現(xiàn)在很多的網(wǎng)站都提供有用戶注冊功能,當我們注冊成功之后就會收到封注冊網(wǎng)站的郵件,郵件里包含了我們的注冊的用戶名和密碼及激活賬戶的超鏈接等信息,這篇文章主要給大家介紹了關(guān)于java實戰(zhàn)案例之用戶注冊并發(fā)送郵件激活/發(fā)送郵件驗證碼的相關(guān)資料,需要的朋友可以參考下2021-09-09
SpringBoot3使用Apache Tika實現(xiàn)多格式文件內(nèi)容提取
做后端開發(fā)久了,難免碰到這類剛需:用戶上傳Word、PDF、Excel、Txt各種文檔,后臺得自動扒出文本做內(nèi)容審核、全文檢索或者數(shù)據(jù)庫歸檔,所以本文使用 Apache Tika 搞定全格式解析,需要的朋友可以參考下2026-03-03
配置pom.xml用maven打包java工程的方法(推薦)
下面小編就為大家?guī)硪黄渲胮om.xml用maven打包java工程的方法(推薦)。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
springcloud整合gateway實現(xiàn)網(wǎng)關(guān)的示例代碼
本文主要介紹了springcloud整合gateway實現(xiàn)網(wǎng)關(guān)的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

