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

请教各位 一个简单的 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条回答 默认 最新

  • threenewbee 2015-01-18 04:49
    关注
    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:

    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题