全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

JAVA数组与方法专题测试

20 题 40 分钟 难度:

考察知识点

本试卷涵盖以下核心知识点:

数组的定义与初始化(4题)

  • 静态初始化语法(int[] arr = {1, 2, 3})
  • 动态初始化语法(new int[5])
  • 数组元素的默认值(int为0,引用类型为null)
  • 数组声明的两种方式(int[] arr和int arr[])

数组的遍历(4题)

  • 数组索引范围(0到length-1)
  • for循环遍历数组
  • 增强for循环(for-each)遍历
  • 增强for循环不能修改数组元素

数组的常见操作(排序、查找)(3题)

  • Arrays.sort()排序方法
  • Arrays.binarySearch()二分查找(需先排序)
  • 线性查找的特点(O(n)时间复杂度)

方法的定义与调用(2题)

  • 方法的返回类型void的含义
  • 静态方法的调用语法
  • 方法名命名规则(不能以数字开头)

方法的参数传递(2题)

  • 数组作为参数传递(引用类型传递)
  • 修改引用与修改对象的区别
  • 值传递无法交换基本类型变量

方法的返回值(2题)

  • return返回值的处理
  • void方法可以使用return;提前结束

方法的重载(2题)

  • 重载的判定条件(参数个数、类型、顺序不同)
  • 重载与重写的区别
  • 返回类型不同不能构成重载

递归方法(2题)

  • 递归的概念(方法调用自身)
  • 递归必须有终止条件
  • 递归层次过深可能导致栈溢出
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
判断题

int[] arrint arr[]两种声明数组的方式都是合法的。

A

B

5
单选题

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

A

1到5

B

0到4

C

0到5

D

1到4

6
单选题

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

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

编译错误

7
单选题

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

Java
int[] arr = {1, 2, 3};
for (int num : arr) {
    System.out.print(num);
}
A

123

B

012

C

编译错误

D

无输出

8
单选题

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

A

数组必须已升序排序

B

数组长度必须大于10

C

数组元素必须是整数

D

数组必须使用动态初始化

9
单选题

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

Java
int[] arr = {10, 20, 30, 40, 50};
int index = Arrays.binarySearch(arr, 30);
System.out.println(index);
A

2

B

3

C

30

D

-1

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
判断题

方法名可以使用数字开头。

A

B

13
单选题

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

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

编译错误

14
单选题

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

Java
public static int add(int a, int b) {
    return a + b;
}
public static void main(String[] args) {
    int result = add(3, 5);
    System.out.println(result);
}
A

3

B

5

C

8

D

编译错误

15
判断题

void类型的方法可以使用return语句提前结束。

A

B

16
多选题

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

A

参数个数不同

B

参数类型不同

C

参数顺序不同

D

返回类型不同

17
判断题

方法重载发生在同一个类中,方法重写发生在父子类之间。

A

B

18
单选题

递归方法是指什么?

A

方法调用其他方法

B

方法调用自身

C

方法返回多个值

D

方法没有参数

19
单选题

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

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

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));
}
← 上一个试卷 JAVA数据库优化与JDBC高级专题测试
下一个试卷 → JAVA泛型详解专题测试

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

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

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

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