4.4 for结构
for语句以三段式作为其标志,可能是用得最多的循环语句。
for语句语法:
for(循环变量定义;条件;循环变量变化)
语句;
for语句本质上和while语句一样,
for三段在具体执行的是这样的:
(1)第一段通常是定义循环变量并给循环变量赋初值,(可以定义多个,具体下面有详述)。第一段只在循环开始的时候执行一次,之后循环不会再执行
(2)第二段是循环条件,必须是布尔值。条件成立执行循环体的代码。
(3)第三段是循环变量递增或递减。每次执行完循环体的代码就运行一次第三段,然后去测试第二段的条件是否成立。
下面这段代码将打印1到100:
public static void main(String[]args){
for(int i=1;i <= 100;i++)
System.out.println(i);
}
(4)for语句的三段式,任意一段都可以是空的,但是他们之间的分号不能省略。例如这些都是合法的写法:
//省略第二段
for(int i=0;;i++){
}
//省略第三段
for(int i=0;i < 10;){
}
//三段都省略
for(;;){
}
//省略第一和第三段,这个和while没区别了
for(;i < 10;){
}
for的格式使得写代码的人,不会忘记写循环变量的递增或递减,还有一个就是循环变量定义在for内部,这样for之外是无法读取这个循环变量的,因为任何变量都只在它所处的第一个大括号内有效。
如果后续的代码,还需要用到这个循环变量,那么循环变量需要定义在for外面,例如下面的代码:
//i定义在for之外,这样for结束后还能读取
int i=0;
for(;i < 10;i++){
//要循环的代码
}
//i在这里还可以继续使用
特别注意:省略第二段的时候,实际上相当于条件永远成立,下面的代码是一个死循环:
public static void main(String[]args){ for(int i=0;;i++){ System.out.println(i); }}