Java-控制流语句

1. Foreach语法

不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项。

for(float x : f)

定义了一个float类型的变量x,继而将每一个f的元素赋值给x。

任何返回一个数组的方法都可以使用foreach。

//String 类有一个方法toCharArray(),它返回一个char数组,因此可以很容易地像下面这样迭代在字符串里面的所有字符。
public class ForEachString{
    public static void main(String[] args){
        for(char c : "An African Swallow".toCharArray()){
            System.out.println(c + " ");
        }
    }
} /* Output: A n A f r i c a n S w a l l o w *///:~

foreach语句是java5的新特征之一,在遍历数组、集合、Iterable对象方面,为开发人员提供了极大的方便。foreach可以用于任何Iterable对象。

Iterable对象

Iterator是迭代器类,而Iterable是接口。
好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。

许多for语句都会在一个整数值序列中步进:

for(int i = 0;i < 100;i++)

而这对foreach语法不起作用。 如果要使用foreach,需要在net.mindview.util.Range包中创建一个名为range()的方法,它可以自动地生成恰当的数组。

import static net.mindview.util.Range.*;
import static net.mindview.util.Print.*;

public class ForEachInt{
    public static void main(String[] args){
        //range()方法已经被重载,重载表示相同的方法名可以具有不同的参数列表(range()是所谓)
        for(int i : range(10)){ //0..9
            //printnb()方法不会换行,可以使用它将一行拆分成多个片段输出
            System.out.printnb(i + ""); 
        }
        print();
        for(int i : range(5, 10)){ //5..9
            System.out.printnb(i + "");
        }
        print();
        for(int i : range(5, 20, 3)){ //5..20 step 3
            System.out.printnb(i + "");
        }
        print();
    }
} /* Output: 0 1 2 3 4 5 6 7 8 9 5 6 7 8 9 5 8 11 14 17 *///:~

2. 无条件分支

无条件分支:表示这个分支无需任何测试即可发生。包括return、break、continue。

break: 强行退出循环,不执行循环中的剩余部分。
continue:停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。

无线循环的两种形式:for(;;) 和 while(true)。

你可能感兴趣的:(java,Class,迭代)