for 语句

for 循环在第一次迭代之前要进行初始化。随后,它会进行条件测试,而且在每一次迭代结
 
束时,进行某种形式的“步进(Stepping)”。for 循环的形式如下:

for(initialization; Boolean-expression; step)
  statement
初始表达式,布尔表达式,或者步进运算,都可以为空。每次迭代前会测试布尔表达式。若
获得的结果是 false,就会执行在 for 语句后面的代码。每次迭代的末尾,会做一次步进运算。
for 循环通常用于执行“计数”任务:
//: c03:ListCharacters.java
// Demonstrates "for" loop by listing
// all the lowercase ASCII letters.
import com.bruceeckel.simpletest.*;
public class ListCharacters {
static Test monitor = new Test();
public static void main(String[] args) {
for(int i = 0; i < 128; i++)
if(Character.isLowerCase((char)i))
        System.out.println("value: " + i +
" character: " + (char)i);
    monitor.expect(new String[] {
"value: 97 character: a",
"value: 98 character: b",
"value: 99 character: c",
"value: 100 character: d",
"value: 101 character: e",
"value: 102 character: f",
"value: 103 character: g",
"value: 104 character: h",
"value: 105 character: i",
"value: 106 character: j",
"value: 107 character: k",
"value: 108 character: l",
"value: 109 character: m",
"value: 110 character: n",
"value: 111 character: o",
"value: 112 character: p",
"value: 113 character: q",
"value: 114 character: r",
"value: 115 character: s",
"value: 116 character: t",
"value: 117 character: u",
"value: 118 character: v",
"value: 119 character: w",
"value: 120 character: x",
"value: 121 character: y",
"value: 122 character: z"
    });
  } 
} ///:~
注意,变量 i 是在程序用到它的地方被定义的,也就是在 for 循环的控制表达式里面。而不
是在由花括号划分的块开始的地方定义的。i 的作用域就是 for 控制的表达式的范围内。
这个程序也使用了 java.lang.Character 包装器(wrapper) 类,这个类不但能把 char
型的值包装进对象,还提供了一些别的有用的方法。这里用到了 static isLowerCase()
方法来检查是否小写字母。
对于象 C 那样的传统的过程型语言,要求所有变量都在一个块的开头定义。以便编译器在
创建这个块的时候,可以为那些变量分配空间。而在 Java 和 C++中,则可在整个块的范围
内分散变量声明,在真正需要的地方才加以定义。这样便可形成更自然的编码风格,也更易
理解。
可以在一个 for 语句中定义多个变量,但它们必须具有同样的类型:
for(int i = 0, j = 1; i < 10 && j != 11; i++, j++)
// body of for loop
其中,for 语句内的 int 定义同时覆盖了 i 和 j。只有 for 循环才具备在控制表达式里定义变量

的能力。对于其他任何条件或循环语句,都不可采用这种方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值