Java数组引用传递测试选择题
文本内容
- 下述代码的执行结果是:
public class Demo {
public static void main(String args[]) {
char[] c = {'南', '大'};
String[] s = {"南邮", "南航", "东南"};
Demo ex = new Demo();
ex.modify(c, s);
for (char c1 : c) {System.out.print(c1);}
System.out.print("不比" + s[2] + "差!");
}
public void modify(char[] c, String[] s) {
c = new char[]{'南', '理', '工'};
s[s.length - 1] = "南大";
}
}
A. 南大不比东南差!
B. 南大不比南大差!
C. 南理工不比南大差!
D. 南理工不比东南差!
整体描述
这是一道考察Java数组引用传递特性的编程选择题,题目包含完整的Java代码和四个选项。代码定义了Demo类,在main方法中初始化字符数组与字符串数组,调用modify方法后输出指定内容。需要分析方法参数修改对原数组的影响:
1. 字符数组c在modify方法中被重新赋值为新数组,但该操作不会改变main方法中原数组的引用,因此输出原数组内容“南大”;
2. 字符串数组s是引用类型,modify方法修改了其最后一个元素的值,原数组对应元素会同步变为“南大”;
最终输出结果为“南大不比南大差!”,对应选项B。
来源说明
这类Java基础测试题常见于Java编程入门练习、校园招聘笔试中,在牛客网、CSDN等编程学习平台都有类似题目流传,用于考察学习者对Java引用类型传递的理解。