上一篇                     
               
			  Java数组如何输入元素
- 后端开发
- 2025-07-02
- 3440
 在Java中,数组输入元素主要有三种方式:,1. 声明时直接初始化:
 
 
int[] arr = {1, 2, 3};,2. 通过索引逐个赋值:
 arr[0] = 10;,3. 运行时用Scanner循环读取用户输入:, “`java, Scanner sc = new Scanner(System.in);, for(int i=0; i
静态初始化(编译时赋值)
在声明数组时直接赋值,无需运行时输入:

// 方式1:完整语法
int[] arr1 = new int[]{10, 20, 30};
// 方式2:简写语法(常用)
String[] arr2 = {"A", "B", "C"}; 
- 特点:元素固定,适用于已知数据的场景。
动态输入(运行时赋值)
通过Scanner从控制台输入
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 步骤1:创建数组
        System.out.print("输入数组长度:");
        int length = scanner.nextInt();
        int[] arr = new int[length];
        // 步骤2:循环输入元素
        System.out.println("输入" + length + "个整数:");
        for (int i = 0; i < length; i++) {
            arr[i] = scanner.nextInt();  // 读取用户输入
        }
        // 验证输出
        System.out.println("数组内容:" + Arrays.toString(arr));
        scanner.close();  // 关闭Scanner
    }
} 
关键点:
- 用 nextInt()读取整数,nextDouble()读取浮点数,next()读取字符串。
- 循环次数必须与数组长度一致,否则会引发 ArrayIndexOutOfBoundsException。
通过BufferedReader输入(高效处理)
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("输入数组长度:");
        int length = Integer.parseInt(reader.readLine());
        String[] arr = new String[length];
        System.out.println("输入" + length + "个字符串:");
        for (int i = 0; i < length; i++) {
            arr[i] = reader.readLine();  // 读取一行文本
        }
        System.out.println("数组内容:" + Arrays.toString(arr));
    }
} 
优势:适合大量数据输入,性能优于 Scanner。

其他输入方式
- 文件输入
 使用FileReader或Files.readAllLines()读取文件数据到数组。
- GUI输入
 通过Swing的JOptionPane.showInputDialog()弹窗获取数据。
- 命令行参数
 通过main(String[] args)的args数组获取启动参数。
注意事项
- 索引越界
 动态输入时,循环变量i必须满足0 ≤ i < arr.length。
- 数据类型匹配
 确保输入的数据类型与数组声明类型一致(如int数组不能存字符串)。
- 资源释放
 使用Scanner或BufferedReader后调用close()释放资源。
- 空指针检查
 若数组未初始化(如int[] arr;),赋值会导致NullPointerException。
- 静态初始化:适用于数据固定的场景(如 int[] arr = {1,2,3};)。
- 动态输入:需结合循环和输入工具(如 Scanner),适合交互式程序。
- 根据需求选择输入源:控制台、文件、网络等均可转化为数组存储。
引用说明:本文代码示例基于Oracle官方Java教程和《Java核心技术》第11版,符合Java SE 17语法规范,输入输出操作遵循Java I/O标准库文档。
 
 
 
			 
			 
			 
			 
			 
			 
			