kaseyhebe
kaseyhebe
采纳率21.1%
2015-01-18 04:45

请教各位 一个简单的 java 小问题

    int arr[]={1,2,3,4,5,6,7,8,9,10};
    int i,temp;
    for(i=0;i<10;i++){
    }
    System.out.println("a"+i);

    temp=arr[0];
    for(i=0;i<9;i++){
        arr[i]=arr[i+1];
    }
    System.out.println("b"+i);


    System.out.println("c"+i);
    arr[i]=temp;
    for(i=0;i<10;i++){
    }

            在这里 输出的结果是 a10
                                                                                        b9
                                                                                        c9

            我大概明白 因为通过 for 这个循环之后, i 的值就被改变了。可我我想请教一下这个代码的底层原理, 是因为 我们一开始创建了一个全局变量 int i ,了 ,所以 i 就会改变了么? 请各位能帮忙解释一下 有没有一个专业的名词或者概念 是关于这个的。

            表达能力有点差 不好意思各位i 不知道我说清楚了没有。。。谢谢了 各位
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • lzp_lrp WorldMobile 6年前

    i就一个变量,在循环里改变了值,所以输出的时候就变了,了解这个只需要了解for循环即可

    点赞 评论 复制链接分享
  • bdmh bdmh 6年前

    因为for循环中有i++,这个会改变i的值

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 6年前
    for(i=0;i<9;i++){
        arr[i]=arr[i+1];
    }
    

    底层相当于这样的代码:
    i = 0;
    start:
    if !(i < 9)) goto end;
    arr[i]=arr[i+1];
    i++;
    goto start;
    end:

    点赞 评论 复制链接分享