您的位置:首页 > 其它

增强for循环和for循环的区别

2017-07-10 22:53 295 查看
以下用一个面试题,简单的阐述for循环和增强for循环的区别:

示例一:

@Test
public void mianshiTest() {
String[] str = new String[]{"赵丽颖","刘德华","范冰冰"};
for(int i = 0; i < str.length; i++) {
str[i] = "张艺谋";
}

for (int i = 0; i < str.length; i++) {
System.out.print(str[i] +" ");
}
}
示例二:

@Test
public void mianshiTest() {
String[] str = new String[]{"赵丽颖","刘德华","范冰冰"};
for(String s : str) {
s = "张艺谋";
}

for (int i = 0; i < str.length; i++) {
System.out.print(str[i] +" ");
}
}
以上面试题可以简单的说明for循环和增前for循环的基本原理的不同,示例一的输出为:张艺谋 张艺谋 张艺谋

而示例二的输出为:赵丽颖 刘德华 范冰冰

解析:示例一是用正常的for循环给数组赋值,把张艺谋分别赋值给了数组的每一个元素,就改变了原有数据里面存放的数据,所以遍历数组的是新数据;而示例二则是把张艺谋赋值给了局部变量s,并没有改变原有数组的元素,所以遍历出来的还是原有数组的数据。Do you understand?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: