实践验证
代码示例
public class StrongerFor {
public static void printa(int [] a) {
for(int each:a) {
System.out.print(each+" ");
}
System.out.println();
}
public static void main(String [] args) {
int []a = new int[5];
printa(a);
for(int i=0;i<5;i++) {
a[i]=i;
}
printa(a);
for(int each:a ) {
each=6;
}
printa(a);
}
}
代码输出
0 0 0 0 0
0 1 2 3 4
0 1 2 3 4
结果解释
第三行输出没有输出五个6,说明each=6这个赋值语句并没有执行,说明强化型for不能赋值。
疑问留存
在代码:
for(int each:a ) {
each=6;
}
中,编译器eclipse提示:each并没有使用(第一行的each报的提示)。
那意思是赋值语句被忽视了?还是有什么其他机理呢?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103193.html