日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

(笔试题必备)Java输入输出知识点整理

發布時間:2024/1/1 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (笔试题必备)Java输入输出知识点整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前一直力扣刷題,核心代碼模式用久了不會處理輸入輸出,梳理知識點以參加ACM模式的筆試。

一、從鍵盤輸入數據

輸入數據標準格式:

  • 導包:import java.util.Scanner;
  • Scanner的實例化:Scanner scan = new Scanner(System.in);
  • 調用Scanner類的相關方法(next() / nextXxx()),來獲取指定類型的變量
  • next() 和 nextLine() :

  • next() 和 nextLine() 都可以獲取字符串;
  • next() 接收會以空格或回車作為結束標識符 ,nextLine() 只以回車作為結束標識符;
  • next() 會刪掉輸入的第一個單詞的前面的空格,而 nextLine() 則全部接收;
  • 注意:比如說 nextLine() 的上一個輸入殘留了enter,這個字符就接收不到,把上一個輸入的殘留回車當作結束標識符直接結束了。
  • 示例:

    import java.util.Scanner; public class InputOutputTest {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String str1 = scan.next();String str2 = scan.nextLine();System.out.println("接收到的第一個字符為:" + str1);System.out.println("接收到的第二個字符為:" + str2);} }

    輸出:

    i love java //前后各4個空格 接收到的第一個字符為:i//忽略了前四個空格 接收到的第二個字符為: love java //前面一個空格,后面有四個空格 i //后面輸入了4個空格和一個enter回車 接收到的第一個字符為:i//沒有空格 接收到的第二個字符為: //這里有四個空格

    1、這里我前面輸入4個空格,next() 先接收到之后,直接忽略了空格,并且將第一個單詞后面的空格作為結束標識符。
    2、nextLine() 接收了第一個單詞之后的所有字符,包括被 next() 視作結束標志符的空格。
    3、看到第二次輸入示例:nextLine() 的上一個輸入殘留了enter,這個字符就接收不到,把上一個輸入的殘留回車當作結束標識符直接結束了。

    多次輸入(題目要求處理多個測試用例):

  • boolean hasNext():檢測是否還有單詞輸入。
  • boolean hasNextInt()、boolean hasNextDouble():檢測輸入中是否整數或浮點數
  • 示例:(這里使用 nextLine() 接收帶空格的一行字符串,還有字符串以空格進行分割)

    class InputOutputTest1 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//多行輸入while (scan.hasNext()) {String str1 = scan.nextLine();System.out.println("接收到的字符為:" + str1);String[] str2 = scan.nextLine().split(" ");for (String i:str2) {System.out.println("字符串切割:" + i);}}} }

    輸出:

    i love java 接收到的字符為:i love java i love java 字符串切割:i 字符串切割:love 字符串切割:java

    示例:(判斷輸入的是否是整形數據)

    class InputOutputTest2 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//多行輸入while (scan.hasNextInt()) {int num1 = scan.nextInt();int num2 = scan.nextInt();System.out.println("接收到的兩數字和為:" + (num1 + num2));}} }

    輸出:

    1 2 接收到的兩數字和為:3

    注意:如果輸入不是整形數據,報錯:InputMismatchException(輸入數據類型不匹配)

    23 i love Exception in thread "main" java.util.InputMismatchExceptionat java.base/java.util.Scanner.throwFor(Scanner.java:939)at java.base/java.util.Scanner.next(Scanner.java:1594)at java.base/java.util.Scanner.nextInt(Scanner.java:2258)at java.base/java.util.Scanner.nextInt(Scanner.java:2212)at inputoutput.InputOutputTest2.main(InputOutputTest.java:30)

    二、輸出數據格式

    輸入浮點型只保留若干小數

  • String的 format 方法:每個格式控制以%開始,后跟被格式化的數值類型。
  • System.out.printf():這個方法延續了C語言的輸出方式,通過格式化文本和參數列表輸出。(與 format 方法同理,其中識別到 %n 表示換行)
  • 示例:

    class InputOutputTest3 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);Double num1 = scan.nextDouble();Double num2 = scan.nextDouble();System.out.println(String.format("輸出數據為:%08.2f", num1));System.out.printf("輸出數據為:%+,010.2f",num2);} }

    輸出:

    345.678 34544.567 輸出數據為:00345.68 輸出數據為:+34,544.57

    注意:

  • ”%08.2f“ 表示輸出浮點型數據,數據共8列(包含小數點,不足8位前面用0補齊),小數點后保留兩位。
  • “%+,010.2f” 表示輸出浮點型數據,數據共10列(包含小數點、”+“ 和 ”,“ ,不足10位用0補齊),小數點后保留兩位小數。
  • 參考文獻:

  • 牛客網輸入輸出(Java)總結
  • Java中.next()和.nextLine()的區別
  • Java基礎【2】輸入與輸出
  • java中String的格式化format()方法
  • 總結

    以上是生活随笔為你收集整理的(笔试题必备)Java输入输出知识点整理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。