1
創(chuàng)新互聯主營建始網站建設的網絡公司,主營網站建設方案,重慶APP開發(fā),建始h5微信平臺小程序開發(fā)搭建,建始網站營銷推廣歡迎建始等地區(qū)企業(yè)咨詢
java的Scanner類提供了nextInt、nexFloat、nextDouble等方法,可以像類似C語言的scanf那樣讀取指定類型的數字。
首先定義一個Scanner對象:
Scanner sn = new Scanner(System.in);
java怎么輸入數字
2
用sn.nextInt讀取整型數,注意如果輸入的不是整形數則該函數會拋出InputMismatchException異常,應予以捕獲。
System.out.print("請輸入一個整數:"); try{ intVal = sn.nextInt(); System.out.println("你輸入了:" + intVal); }catch(InputMismatchException e) { System.out.println("必須輸入整數!"); }
java怎么輸入數字
3
用sn.nextFloat讀取單精度浮點數,如果輸入的不是數字則也會拋出InputMismatchException異常,應予以捕獲。
System.out.print("請輸入一個浮點數:"); try{ floatVal = sn.nextFloat(); System.out.println("你輸入了:" + floatVal); }catch(InputMismatchException e) { System.out.println("必須輸入數!"); }
java怎么輸入數字
4
用sn.nextDouble讀取雙精度浮點數,操作與單精度類似。
System.out.print("請輸入一個浮點數:"); try{ doubleVal = sn.nextDouble(); System.out.println("你輸入了:" + doubleVal); }catch(InputMismatchException e) { System.out.println("必須輸入數!"); }
java怎么輸入數字
5
流使用完畢后應予以關閉:sn.close();完整代碼如下圖。
java怎么輸入數字
java怎么輸入數字
6
測試程序,首先正常輸入,可以看到沒輸入一個數,控制臺會進行回顯。
java怎么輸入數字
7
接下來試試異常情況,在要求輸入整數時輸入小數,則會提示“必須輸入整數”,在輸入浮點數時輸入字母,則會提示“必須輸入數”,雖然操作非法,程序依然可以執(zhí)行,這是捕獲了異常的緣故。
//第一種直接輸出
System.out.println(3);
//第二種 先申明后賦值再輸出
int a;
System.out.println(a=3);
//第三種 直接聲明賦值后輸出
int a1=3;
System.out.println(a1);
資料拓展:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向對象編程語言的代表,極好地實現了面向對象理論
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
/*
*?System.in?標準輸入流。是從鍵盤獲取數據的
*?
*?鍵盤錄入數據:
*? A:main方法的args接收參數。
*? java?HelloWorld?hello?world?java
*? B:Scanner(JDK5以后的)
*? Scanner?sc?=?new?Scanner(System.in);
*? String?s?=?sc.nextLine();
*? int?x?=?sc.nextInt()
*? C:通過字符緩沖流包裝標準輸入流實現
*? BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(System.in));
*/
public?class?SystemInDemo?{
public?static?void?main(String[]?args)?throws?IOException?{
//?//獲取標準輸入流
//?InputStream?is?=?System.in;
//?//我要一次獲取一行行不行呢?
//?//行。
//?//怎么實現呢?
//?//要想實現,首先你得知道一次讀取一行數據的方法是哪個呢?
//?//readLine()
//?//而這個方法在哪個類中呢?
//?//BufferedReader
//?//所以,你這次應該創(chuàng)建BufferedReader的對象,但是底層還是的使用標準輸入流
//?//?BufferedReader?br?=?new?BufferedReader(is);
//?//按照我們的推想,現在應該可以了,但是卻報錯了
//?//原因是:字符緩沖流只能針對字符流操作,而你現在是字節(jié)流,所以不能是用?
//?//那么,我還就想使用了,請大家給我一個解決方案?
//?//把字節(jié)流轉換為字符流,然后在通過字符緩沖流操作
//?InputStreamReader?isr?=?new?InputStreamReader(is);
//?BufferedReader?br=?new?BufferedReader(isr);
BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(System.in));
System.out.println("請輸入一個字符串:");
String?line?=?br.readLine();
System.out.println("你輸入的字符串是:"?+?line);
System.out.println("請輸入一個整數:");
//?int?i?=?Integer.parseInt(br.readLine());
line?=?br.readLine();
int?i?=?Integer.parseInt(line);
System.out.println("你輸入的整數是:"?+?i);
}
}
常用的輸入語句是:
輸入字符串:new Scanner(System.in).next();
輸入整數:new Scanner(System.in).nextInt();
輸入小數:new Scanner(System.in).nextDouble();
常用的輸出語句:
換行輸出: System.out.println(變量或字符串);
非換行輸出: System.out.print(變量或字符串);
換行輸出錯誤提示(默認是紅字):System.err.println(變量或字符串);
不換行輸出錯誤提示(默認是紅字): System.err.print(變量或字符串));