Java输入数据的知识点整理

在Java编程中,输入数据是非常重要的一部分,如果没有正确的输入数据,程序很难执行下去。本文将详细介绍Java输入数据的知识点整理,包括以下内容:

Java输入数据的知识点整理

在Java编程中,输入数据是非常重要的一部分,如果没有正确的输入数据,程序很难执行下去。本文将详细介绍Java输入数据的知识点整理,包括以下内容:

  1. Java.util.Scanner
  2. 标准输入流和标准输出流
  3. System.console()方法
  4. 示例说明

Java.util.Scanner类

Scanner类为读取用户输入提供了丰富的方法,具体用法如下:

import java.util.Scanner;

public class ScannerTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入一个整数:");
        int num = scanner.nextInt();
        System.out.println("你输入的整数是:" + num);

        System.out.println("请输入一个浮点数:");
        double dec = scanner.nextDouble();
        System.out.println("你输入的浮点数是:" + dec);

        System.out.println("请输入一个字符串:");
        String str = scanner.nextLine();
        System.out.println("你输入的字符串是:" + str);

        scanner.close();
    }
}

以上代码演示了如何读取整数、浮点数和字符串。需要注意的是,用nextLine()方法读取字符串时,它会读取剩下的全部内容,直到遇到回车为止。可以使用next()方法代替nextLine()方法,读取到第一个空格或回车为止。

标准输入流和标准输出流

Java程序默认会有两个标准流:System.inSystem.out。其中,System.in代表标准输入流,它的类型是InputStream,可以读取用户从键盘输入的内容。System.out代表标准输出流,它的类型是PrintStream,可以将内容输出到控制台。实际上,System.out也可以通过重定向输出到文件等。

以下是一个使用标准输入流读取用户输入的示例代码:

import java.io.InputStream;
import java.util.Scanner;

public class StdinTest {
    public static void main(String[] args) {
        System.out.println("请输入一个整数:");
        InputStream in = System.in;
        Scanner scanner = new Scanner(in);
        int num = scanner.nextInt();
        System.out.println("你输入的整数是:" + num);

        scanner.close();
    }
}

System.console()方法

System.console()方法可以用于与控制台进行交互,用法如下所示:

import java.io.Console;

public class ConsoleTest {
    public static void main(String[] args) {
        Console console = System.console();
        if (console == null) {
            System.err.println("未找到控制台");
            System.exit(1);
        }

        console.printf("请输入用户名:");
        String username = console.readLine();

        console.printf("请输入密码:");
        char[] password = console.readPassword();

        console.printf("你的用户名是:%s,你的密码是:%s%n", username, new String(password));
    }
}

以上代码演示了如何使用System.console()方法读取用户名和密码,并将其输出到控制台。

示例说明

以下是一个示例,演示如何使用Scanner类读取多个数据并计算其平均值:

import java.util.Scanner;

public class CalculateAverage {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入多个整数,每个整数之间用空格分隔:");
        int sum = 0, count = 0;
        while (scanner.hasNextInt()) {
            int num = scanner.nextInt();
            sum += num;
            count++;
        }
        scanner.close();
        if (count == 0) {
            System.err.println("未输入任何数据");
            return;
        }
        double average = (double)sum / count;
        System.out.printf("平均值为:%.2f%n", average);
    }
}

以上代码演示了如何使用hasNextInt()方法来判断是否还有输入数据,并使用nextInt()方法读取输入数据。最后,计算平均值并将其输出到控制台。

另外,如果要读取非空格分隔的多个数据,可以使用Scanner类的useDelimiter()方法设置分隔符。例如:

Scanner scanner = new Scanner(System.in).useDelimiter(",");
while (scanner.hasNextInt()) {
    int num = scanner.nextInt();
    // ...
}

以上代码将使用逗号作为分隔符读取输入数据。

本文标题为:Java输入数据的知识点整理

基础教程推荐