用于处理需要重复执行的操作;
根据判断条件的成立与否, 决定程序段落的执行次数, 而这个程序段落我们称为循环体;
while: 事先不需要知道循环执行多少次;
do while: 同上, 只是至少要执行一次 (先做, 后判断);
for: 需要知道循环次数;
循环结构 (while & do while)
while 语句
格式:
- while(条件表达式值为 true)
- {
执行语句;
}
do while 语句
格式:
do
{
执行语句;
- }
- while(条件表达式值为 true);
我的总结: do while 特点是无论条件是否满足, 循环体至少被执行一次.
循环里的条件表达式不能直接写 false 或直接写结果是 false 的表达式, 不过可以使用变量来传递 false 值;
循环结构 (for)
格式:
for(初始化表达式 (1); 循环条件表达式 (2); 循环后的操作表达式 (3))
{
执行语句;(4)
}
执行顺序:(1) (2) (4) (3) (2) (4) (3)
备注:
1, for 里面的 3 个表达式运行的顺序, 初始化表达式只读一次, 判断循环条件, 为真就执行循环体, 然后再执行循环后的操作表达式, 接着继续判断循环条件, 重复找个过程, 直到条件不满足为止.
2, while 与 for 可以互换, 区别在于 for 为了循环而定义的变量在 for 循环结束就在内存中释放. 而 while 循环使用的变量在循环结束后还可以继续使用.
3, 最简单无限循环格式: while(true) , for(;;), 无限循环存在的原因是并不知道循环多少次, 而是根据某些条件, 来控制循环.
Eg:
用三种循环控制求出 100 以内前 5 个 3 的倍数的数字;
- class while
- {
- public static void main(String[] args)
- {
- int i = 1,k = 0;
- while(i<=100)
- {
- if(i%3==0)
- {
- if(k<5)
- System.out.println(i);
- k++;
- }
- i++;
- }
- }
- }
- class dowhile
- {
- public static void main(String[] args)
- {
- int i = 1,k = 0;
- do{
- if(i%3==0)
- {
- if(k<5)
- System.out.println(i);
- k++;
- }
- i++;
- }
- while(i<=100);
- }
- }
- class for
- {
- public static void main(String[] args)
- {
- int i = 1,k = 0;
- for(;i<100;i++)
- {
- if(i%3==0&&k<5)
- {
- System.out.println(i);
- k++;
- }
- }
- }
- }
来源: http://www.bubuko.com/infodetail-2659007.html