黑马程序员技术交流社区

标题: 看程序,写结果并分析 [打印本页]

作者: 繁华落幕    时间: 2015-6-20 23:11
标题: 看程序,写结果并分析
本帖最后由 繁华落幕 于 2015-6-24 22:23 编辑

给出以下代码,请问该程序的运行结果是什么?如有问题,请说明原因。
class Demo {
public static void main (String[] args) {
int a = 10,b = 20;
change(a, b);
System.out.println("a=" + a + ",b=" + b);

String s1 = "aaa";
String s2 = "bbb";
change(s1, s2);
System.out.println("s1=" + s1 + ",s2=" + s2);

int[] arr = {1, 2, 3, 4, 5};
change( arr );
System.out.println(arr[3]);
}
public static void change(int x, int y){
x = 100;
y = 200;
}
public static void change (String s1, String s2) {
s1 = "java";
s2 = "android";
}
public static void change(int[] arr) {
for (int i=0; i<arr.length; i++) {
arr *= 2;
}
}
}

作者: AIE    时间: 2015-6-20 23:25
a=100,b=200
s1=java,s2=android
128
第三个不是太确定
作者: AIE    时间: 2015-6-20 23:29
public static void change(int[] arr) {
for (int i=0; i<arr.length; i++) {
arr *= 2;
这部分是有问题的,形参和实参应该都是元素吧?调用和函数定义写的都不是元素
作者: 1千克=1024克    时间: 2015-6-20 23:35
本帖最后由 1千克=1024克 于 2015-6-20 23:38 编辑

a=10 b=20   s1= aaa    s2 =bbb   第三个  明显不正确  数组*2是什么鬼
作者: 牧师1990    时间: 2015-6-20 23:54
a=10 b=20   
s1= aaa    s2 =bbb
第三个看不懂。
作者: 繁华落幕    时间: 2015-6-21 21:17
AIE 发表于 2015-6-20 23:29
public static void change(int[] arr) {
for (int i=0; i

没有问题  可以编译运行 谢谢
作者: zlpiano    时间: 2015-6-21 21:44
最后一句有问题,arr是数组引用类型,无法编译通过的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2