JAVA基础培训(6),For循环语句的使用
时间:2011-04-07 csdn 老紫竹
在所有的循环中,最常用的就是for了,另外2个 while和do..while我基本不用。所以 我这里就把for循环重点介绍一下。
源代码
package lession6;
/**
* 老紫竹JAVA基础培训(6),For循环语句的使用。<br>
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
public class Lession6 {
/**
* for循环有三部分用分号分割<br>
* 第一部分是初始的数据<br>
* 中间是判断是否继续循环的判断,如果为true则继续循环<br>
* 一次循环后,做的处理,然后再进行中间的判断<br>
* 运行顺序为<br>
* 1 初始化<br>
* 2 中间的判断<br>
* 3 循环体<br>
* 4 循环后处理<br>
* 转2 继续<br>
*/
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 < 10 && n > 30; m++, n -= 5) {
System.out.println("m=" + m + ",n=" + n);
}
System.out.println();
// 循环的各个部分是可以省略的
// 比如省略初始化部分
int k = 0;
for (; k < 10; k++) {
System.out.print(k);
}
System.out.println();
// 省略循环判断部分
// 此时默认循环判断结果为true
// 也就是死循环了
// 需要代码里进行一些特殊的处理
k = 0;
for (;; k++) {
System.out.print(k);
if (k > 10) { // 此处使用了 break语句中断循环
break;
}
}
// 省略循环后处理部分
k = 0;
for (; k < 10;) {
System.out.print(k);
k += 2;// 我们可以在循环体里面修改循环条件变量
}
System.out.println();
// 如果啥都没有?
k = 0;
for (;;) {
System.out.print(k);
k += 3; // 内部使用
if (k > 10) { // 此处使用了 break语句中断循环
break;
}
}
System.out.println();
}
}
JAVA基础培训(6),For循环语句的使用(2)
时间:2011-04-07 csdn 老紫竹
测试:
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可以指定退出哪层循环,默认是当前的一层
/**
* 嵌套打印的继续和终端例子。<br>
* 大家注意语句前面的 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循环必须要掌握,而且要非常熟悉才可以。 如何设置起始,判断和后处理条件, 如何继续和中断循环。 |