日期:2014-05-20  浏览次数:20695 次

java中的for循环解释

package chapter_four;

public class J_StringBuffer {
public static void main(String args[]){
String s = "编码转换";
char [] c = s.toCharArray();
for(char tmp:c)
{
System.out.print("\\u"+Integer.toHexString(tmp));
}
}
}


不明白这个for循环是怎样实现的?求解!! 
他是怎样结束的,那个  char tmp:c  为什么可以这样写
java for循环 编码转换

------解决方案--------------------
引用:

package chapter_four;

public class J_StringBuffer {
public static void main(String args[]){
String s = "编码转换";
char [] c = s.toCharArray();
for(char tmp:c)
{
System.out.print("\\u"+Integer.toHexString(tmp));
}
}
}


不明白这个for循环是怎样实现的?求解!! 
他是怎样结束的,那个  char tmp:c  为什么可以这样写


就是foreach增强for循环(JDK1.5之后出现的?有点模糊了)
foreach语法的冒号后面可以有两种类型:一种是数组,另一种是是实现了Iterable接口的类
------解决方案--------------------
数组最好不这么用  字符串取字符也最好别这么用
for(int i = 0; i < s.length(); i++) {
  char ch = s.charAt(i);
}
虽然写着不如那个优雅  但是不废话  增强型的for循环编译好以后  谁也不知道是什么样的  不管是什么样的  效率上一定不大于上面的