全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 20 道配套习题

数组与方法专题

专题说明

本专题系统讲解Java数组与方法的核心知识点,数组是存储多个同类型数据的容器,方法是完成特定功能的代码块,两者是Java编程的基础。

学习目标

  1. 掌握数组的声明、初始化方式(静态初始化、动态初始化)
  2. 理解数组索引与长度,熟练使用for循环和增强for遍历数组
  3. 掌握Arrays工具类的排序和查找方法
  4. 理解方法的定义结构(返回类型、方法名、参数列表、方法体)
  5. 掌握Java值传递机制,理解基本类型与引用类型参数传递的区别
  6. 掌握方法重载的概念与判定条件

学习内容

本专题涵盖六大核心知识点:

知识点核心内容
数组的定义与初始化静态初始化、动态初始化、默认值
数组的遍历for循环遍历、增强for循环、索引范围
数组的常见操作Arrays.sort排序、binarySearch二分查找
方法的定义与调用方法结构、void返回类型、方法调用语法
方法的参数传递值传递机制、基本类型传递、引用类型传递
方法的重载参数列表不同、与返回类型无关

学习建议

  1. 理解内存模型:数组和引用类型参数传递都涉及内存地址,理解内存模型有助于掌握本质
  2. 动手验证:参数传递是难点,建议编写代码验证基本类型和数组传递的差异
  3. 注意边界:数组索引从0开始,访问超出范围会抛出ArrayIndexOutOfBoundsException
  4. 善用工具类:Arrays类提供了排序、查找、填充等常用方法,熟练使用提高效率

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
单选题

以下哪种方式可以正确声明并初始化一个包含3个元素的整型数组?

A

int[] arr = {1, 2, 3};

B

int arr[] = 1, 2, 3;

C

int[3] arr = {1, 2, 3};

D

int[] arr = new int[]{1, 2, 3}(3);

2
单选题

以下代码创建了一个长度为多少的数组?

Java
int[] arr = new int[5];
A

0

B

4

C

5

D

编译错误

3
单选题

使用new int[3]动态初始化数组后,数组元素的默认值是什么?

A

null

B

0

C

未定义

D

空字符串

4
单选题

长度为5的数组,有效索引范围是多少?

A

1到5

B

0到4

C

0到5

D

1到4

5
单选题

以下代码的输出结果是什么?

Java
int[] arr = {10, 20, 30, 40};
for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i]);
}
A

10203040

B

0123

C

1234

D

编译错误

6
单选题

Arrays.sort(arr)方法的作用是什么?

A

查找数组元素

B

对数组进行升序排序

C

对数组进行降序排序

D

复制数组

7
单选题

使用Arrays.binarySearch()方法查找元素的前提条件是什么?

A

数组必须已升序排序

B

数组长度必须大于10

C

数组元素必须是整数

D

数组必须使用动态初始化

8
单选题

线性查找算法的特点是什么?

A

时间复杂度为O(log n)

B

需要数组已排序

C

时间复杂度为O(n),无需排序

D

只能查找最大值

9
单选题

方法的定义包括哪些必要组成部分?

A

返回类型、方法名、参数列表、方法体

B

只需要方法名

C

返回类型和方法名

D

方法名和参数列表

10
单选题

方法的返回类型为void表示什么?

A

方法返回null

B

方法不返回任何值

C

方法返回0

D

方法返回空字符串

11
单选题

以下代码的输出结果是什么?

Java
public static void sayHello() {
    System.out.println("Hello");
}
public static void main(String[] args) {
    sayHello();
}
A

Hello

B

无输出

C

编译错误

D

null

12
单选题

Java中方法参数的传递方式是什么?

A

引用传递

B

值传递

C

指针传递

D

名称传递

13
单选题

以下代码的输出结果是什么?

Java
public static void change(int num) {
    num = 100;
}
public static void main(String[] args) {
    int a = 10;
    change(a);
    System.out.println(a);
}
A

100

B

10

C

0

D

编译错误

14
单选题

以下代码的输出结果是什么?

Java
public static void modify(int[] arr) {
    arr[0] = 100;
}
public static void main(String[] args) {
    int[] a = {1, 2, 3};
    modify(a);
    System.out.println(a[0]);
}
A

1

B

100

C

0

D

编译错误

15
单选题

方法重载(Overloading)是指什么?

A

子类重写父类方法

B

同一个类中定义多个同名但参数不同的方法

C

方法返回值不同

D

方法名不同

16
单选题

以下哪组方法构成合法的重载?

A

int add(int a) 和 int add(int b)

B

int add(int a) 和 double add(int a)

C

int add(int a) 和 int add(int a, int b)

D

void add(int a) 和 void add(int[] a)

17
多选题

以下哪些情况可以构成方法重载?

A

参数个数不同

B

参数类型不同

C

参数顺序不同

D

返回类型不同

18
单选题

以下代码的输出结果是什么?

Java
int[] arr = new int[3];
arr[0] = 1;
arr[1] = 2;
for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i]);
}
A

12

B

120

C

123

D

1200

19
单选题

以下代码的输出结果是什么?

Java
public static int[] createArray(int size) {
    return new int[size];
}
public static void main(String[] args) {
    int[] arr = createArray(3);
    System.out.println(arr.length);
}
A

0

B

3

C

null

D

编译错误

20
填空题

以下代码输出结果是:______

Java
public static int findIndex(int[] arr, int target) {
    for (int i = 0; i < arr.length; i++) {
        if (arr[i] == target) return i;
    }
    return -1;
}
public static void main(String[] args) {
    int[] arr = {10, 20, 30};
    System.out.println(findIndex(arr, 20));
}
← 上一个专题 数据库优化与JDBC高级专题
下一个专题 → 泛型详解专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库