在所有的循环中,最常用的就是for了,另外2个 while和do..while我基本不用。所以 我这里就把for循环重点介绍一下。
源代码
package lession6;/*** 老紫竹JAVA基础培训(6),For循环语句的使用。** @**/public class Lession6 { /** * for循环有三部分用分号分割 * 第一部分是初始的数据 * 中间是判断是否继续循环的判断,如果为true则继续循环 * 一次循环后,做的处理,然后再进行中间的判断 * 运行顺序为 * 1 初始化 * 2 中间的判断 * 3 循环体 * 4 循环后处理 * 转2 继续 */ public static void main(String[] args) { // 循环变量在循环里面声明 for (int i = 1; i <= 10; i++) { System.out.print(i); } System.out.println(); // 循环变量使用外部的变量 int i; for (i = 1; i <= 10; i++) { System.out.print(i); } System.out.println(); // 可以使用多个变量和判断条件和循环后处理,用逗号分隔 // 初始化,m=0,n=100 // 循环条件为 m小于10,同时 n大于30 // 每次循环后处理是 m增加1,n减去5 for (int m = 0, n = 100; m 30; m++, n -= 5) { System.out.println("m=" + m + ",n=" + n); } System.out.println(); // 循环的各个部分是可以省略的 // 比如省略初始化部分 int k = 0; for (; k 10) { // 此处使用了 break语句中断循环 break; } } // 省略循环后处理部分 k = 0; for (; k 10) { // 此处使用了 break语句中断循环 break; } } System.out.println(); }}
测试:
1 所有的循环不只是递增
大家把所有的判断改成递减看看,也就是类似
for(int i=100;i>0;i--)
这样的例子
2 忽略或退出循环的方式。
大家看一下for循环里面出现的 break的用法,当然还有一个continue,我这里给一个 例子,其它的大家自己体会,我就不再细说了。
public static void test() { int k = 0; for (int i = 100; i >= 0; i--) { if (i % 5 == 0) { // 如果能被5整除,则不处理,直接下一个 continue; } System.out.println(i); k++; if (k == 10) { // 如果已经处理了10个,则退出循环了。 break; } } }
3 循环是可以嵌套的。
下面给一个嵌套打印长方形的例子。大家自己改造成打印三角形的例子吧。
/** * 打印正方形的例子 */ public static void test2() { for (int i = 1; i <= 5; i++) { // 打印行数 for (int k = 1; k <= 3; k++) { // 每行打印的数量 System.out.print("*"); // 打印内容 } System.out.println(); // 换行 } }
嵌套循环里的break和continue可以指定退出哪层循环,默认是当前的一层
/** * 嵌套打印的继续和终端例子。 * 大家注意语句前面的 OUTER: 和 INNER:的语法, 标签的名字加上冒号 */ public static void test3() { OUTER: for (int i = 1; i <= 10; i++) { // 打印行数 System.out.println(); // 换行挪到这里,方便看清运行结果 INNER: for (int k = 1; k <= 3; k++) { // 每行打印的数量 System.out.print("*"); // 打印内容 if (i % 2 == 0) { // 内层如果发现行数为偶数行,则不再继续打印 < continue OUTER; } if (i % 5 == 0) { // 内层如果发现是可以被5整除的行,则退出外部循环 break OUTER; } } } }
for循环必须要掌握,而且要非常熟悉才可以。 如何设置起始,判断和后处理条件, 如何继续和中断循环。
世上最累人的事,莫过於虚伪的过日子