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 不知道我说清楚了没有。。。谢谢了 各位
请教各位 一个简单的 java 小问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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 汇编语言除法溢出问题