1. 简单的for循环
public static void main(String[] args) { for (int i = 1, y = i + 10; i < 5 && y < 12; i++, y = i * 2) { System.err.println("i=" + i + " y=" + y); } }
?? 输出
??? i=1??? y=11
??? i=2??? y=4
??? i=3??? y=6
??? i=4??? y=8
?
2. Foreach语法
public static void main(String[] args) { for (char a : "xunhuan".toCharArray()) { // 所有数组格式 都可以这样循环 System.err.println(a); } }
??输出
??? x
??? u
??? n
??? h
??? u
??? a
??? n
?
?????? Foreach还支持所有实现Iterable接口的对象,Collection 接口继承了 Iterable接口,所以所有的List、Set、Queue接口的实现类(ArrayList、LinkedList、Vector、Stack、HashSet、TreeSet、LinkedHashSet、PriorityQueue),还有HashMap 中的keySet()、entrySet()方法(返回的是HashMap 中的一个实现Collection接口的内部类对象KeySet、EntrySet)都能用foreach循环; 也可以自己写一个类实现Iterable,照样可以用在foreach中。???
public static class IterImpl implements Iterable<String> { public String[] array = "dai ni zhuang bi dai ni fei".split(" "); @Override public Iterator<String> iterator() { return new Iterator<String>() { private int index = 0; @Override public boolean hasNext() { return index < array.length; } @Override public String next() { return array[index++]; } @Override public void remove() { } }; } } public static void main(String[] args) { for (String str : new IterImpl()) { System.err.println(str); } }
? 输出:
?????? dai
?????? ni
?????? zhuang
?????? bi
?????? dai
?????? ni
?????? fei
?
3.?? ?无穷循环有两个? while(true)? 和for(;;)?? 看自己习惯
?
4.??? 标签? ,就不进行文字叙述了,研究下面代码吧
public static void main(String[] args) { outer: for (int y = 0; y < 10; y++) { System.err.println("----〉y:" + y); inner: for (int i = 0; i < 10; i++) { System.err.println("i=" + i); if (i == 0 && y == 0) { System.err.println("continue"); continue; } if (i == 1 && y == 0) { System.err.println("break"); break; } if (i == 2 && y < 2) { System.err.println("continue inner "); continue inner; } if (i == 3 && y < 2) { System.err.println("continue outer "); continue outer; } if (i == 4 && y < 3) { System.err.println("break inner"); break inner; } if (i == 5) { System.err.println("break outer"); break outer; } } } }
?输出:
?
????? ----〉y:0
????? i=0
????? continue
????? i=1
????? break
????? ----〉y:1
????? i=0
????? i=1
????? i=2
????? continue inner?
????? i=3
????? continue outer?
????? ----〉y:2
????? i=0
????? i=1
????? i=2
????? i=3
????? i=4
????? break inner
????? ----〉y:3
????? i=0
????? i=1
????? i=2
????? i=3
????? i=4
????? i=5
????? break outer
原文:http://flyouwith.iteye.com/blog/2163350