Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java Scanner 類

在本教程中,我們將借助示例學習Java Scanner及其方法。

java.io包的PrintWriter類可用于以通??勺x的形式(文本)寫入輸出數(shù)據(jù)。

java.util包的Scanner類用于從不同的源(例如輸入流,用戶,文件等)讀取輸入數(shù)據(jù)。讓我們舉個實例。

示例1:使用掃描器讀取一行文本

import java.util.Scanner;

class Main {
    public static void main(String[] args) {

        //創(chuàng)建一個對象 Scanner
        Scanner input = new Scanner(System.in);

        System.out.print("輸入姓名: ");

        // 從鍵盤接收輸入
        String name = input.nextLine();

        // 打印輸出姓名
        System.out.println("我的名字是 " + name);

        // Closes the scanner
        input.close();
    }
}

輸出結(jié)果

輸入姓名: Jack
我的名字是  Jack

在上面的示例中,請注意以下行

Scanner input = new Scanner(System.in);

在這里,我們創(chuàng)建了一個名為input的Scanner對象。

System.in參數(shù)用于從標準輸入中獲取輸入。 就像從鍵盤上獲取輸入一樣。

然后,我們使用Scanner類的nextLine()方法從用戶那里讀取一行文本。

現(xiàn)在您對Scanner有了一些了解,讓我們對其進行更多的探索。

導入掃描器類

從上面的示例可以看到,我們需要先導入java.util.Scanner包,然后才能使用Scanner類。

import java.util.Scanner;

用Java創(chuàng)建掃描程序?qū)ο?/h2>

如上所述,導入包后,就可以創(chuàng)建Scanner對象。

//從輸入流中讀取輸入
Scanner sc1 = new Scanner(InputStream input);

//從文件讀取輸入
Scanner sc2 = new Scanner(File file);

//從字符串中讀取輸入
Scanner sc3 = new Scanner(String str);

在這里,我們創(chuàng)建了Scanner類的對象,這些對象將分別從InputStream,文件和字符串讀取輸入。

Java掃描器輸入方法

Scanner類提供各種方法,使我們能夠讀出不同類型的輸入。

方法描述
nextInt()從用戶讀取int值
nextFloat()從用戶讀取float值
nextBoolean()從用戶讀取boolean值
nextLine()從用戶讀取一行文本
next()從用戶那里讀取一個單詞
nextByte()從用戶讀取byte值
nextDouble()從用戶讀取double值
nextShort()從用戶讀取short值
nextLong()從用戶讀取long值

示例2:Java掃描器 nextInt()

import java.util.Scanner;

class Main {
    public static void main(String[] args) {

        //創(chuàng)建掃描器對象
        Scanner input = new Scanner(System.in);

        System.out.println("輸入一個整數(shù): ");

        //讀取一個int值
        int data1 = input.nextInt();

        System.out.println("使用 nextInt(): " + data1);

        input.close();
    }
}

輸出結(jié)果

輸入一個整數(shù):
22
使用 nextInt(): 22

在上面的示例中,我們使用了nextInt()方法來讀取整數(shù)值。

示例3:Java 掃描器 nextDouble()方法

import java.util.Scanner;

class Main {
   public static void main(String[] args) {

      //創(chuàng)建一個Scanner對象
      Scanner input = new Scanner(System.in);
      System.out.print("輸入雙精度值: ");

      //讀取雙精度值
      double value = input.nextDouble();
      System.out.println("使用 nextDouble(): " + value);

      input.close();
   }
}

輸出結(jié)果

輸入雙精度值: 33.33
使用 nextDouble(): 33.33

在上面的示例中,我們使用了nextDouble()方法來讀取浮點值。

示例4:Java掃描器 next() 方法

import java.util.Scanner;

class Main {
   public static void main(String[] args) {

      //創(chuàng)建一個Scanner對象
      Scanner input = new Scanner(System.in);
      System.out.print("Enter your name: ");

      //讀取整個單詞
      String value = input.next();
      System.out.println("Using next(): " + value);

      input.close();
   }
}

輸出結(jié)果

Enter your name: Jonny Walker
Using next(): Jonny

在上面的示例中,我們使用next()方法從用戶讀取字符串。

在這里,我們提供了全名。 但是,next()方法僅讀取名字。

這是因為next()方法將輸入讀取到空格字符。一旦遇到空格,它就返回字符串(不包括空格)。

示例5:Java掃描器nextLine()方法

import java.util.Scanner;

class Main {
   public static void main(String[] args) {

      //創(chuàng)建一個Scanner對象
      Scanner input = new Scanner(System.in);
      System.out.print("Enter your name: ");

      //讀取整行
      String value = input.nextLine();
      System.out.println("Using nextLine(): " + value);

      input.close();
   }
}

輸出結(jié)果

Enter your name: Jonny Walker
Using nextLine(): Jonny Walker

在第一個示例中,我們使用了nextLine()方法從用戶讀取字符串。

與next()不同,nextLine()方法讀取包括空格在內(nèi)的整個輸入行。當該方法遇到下一行字符\n時終止。

Java掃描器 BigInteger 和 BigDecimal

Java掃描程序還可以用于讀取大整數(shù)和大十進制數(shù)。

  • nextBigInteger() - 從用戶讀取大整數(shù)值

  • nextBigDecimal() - 從用戶讀取大十進制值

示例4:讀取BigInteger和BigDecimal

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

class Main {
   public static void main(String[] args) {

      //創(chuàng)建一個Scanner對象
      Scanner input = new Scanner(System.in);
      System.out.print("輸入一個大整數(shù): ");

      //讀取大整數(shù)
      BigInteger value1 = input.nextBigInteger();
      System.out.println("Using nextBigInteger(): " + value1);

      System.out.print("輸入一個大十進制: ");

      //讀取大十進制
      BigDecimal value2 = input.nextBigDecimal();
      System.out.println("Using nextBigDecimal(): " + value2);

      input.close();
   }
}

輸出結(jié)果

輸入一個大整數(shù): 987654321
使用 nextBigInteger(): 987654321
輸入一個大十進制: 9.55555
使用 nextBigDecimal(): 9.55555

在上面的示例中,我們使用java.math.BigInteger和java.math.BigDecimal包分別讀取BigInteger和BigDecimal。

Java掃描器的工作方式

掃描器類讀取整個行,并將該行劃分為記號。令牌是對Java編譯器有一定意義的小元素。例如

假設(shè)有一個輸入字符串:

He is 22

在這種情況下,掃描程序?qū)ο髮⒆x取整行并將該字符串分為令牌:“ He ”,“ is ”和“ 22 ”。然后,對象遍歷每個令牌,并使用其不同方法讀取每個令牌。

注意:默認情況下,空格用于劃分標記。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清