Java循环流程控制语句

1.for循环

    *基本格式:for(初始化语句;判断条件语句;控制条件语句){

                                    循环语句体;

                    };

    *执行流程

        *执行初始化语句

        *执行判断条件语句,看其结构是true还是false

            *如果是false就结束循环

            *如果是true就继续执行

        *执行循环体语句

        *执行控制条件语句

        *再次判断条件语句是否满足,满足则再次循环,不满足退出循环

        *案例

package com.text;
/*
 * for循环语句格式:
 * 		for(初始化语句;判断条件语句;控制条件语句) {
 * 			循环体语句;
 * 		}
 * 
 * 		执行流程:
 * 			A:执行初始化语句
 * 			B:执行判断条件语句,看结果是true还是false
 * 				如果是true,就继续执行
 * 				如果是false,就结束循环
 * 			C:执行循环体语句
 * 			D:执行控制条件语句
 * 			E:回到B继续
 * 
 * 需求:
 * 		在控制台输出10次”HelloWorld”的案例。
 */
public class ForDemo {
	public static void main(String[] args) {
		//原始写法
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("-------------------------");
		
		//用循环改进
		for(int x=1; x<=10; x++) {
			System.out.println("HelloWorld");
		}
	}
}

*for循环打印水仙花数

package com.itheima_04;
/*
 * 需求:在控制台输出所有的”水仙花数”
 * 
 * 分析:
 * 		什么是水仙花数呢?
 * 			所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
 *			举例:153就是一个水仙花数。
 *			153 = 1*1*1 + 5*5*5 + 3*3*3
 *
 *		A:三位数其实就告诉了我们水仙花数的范围
 *			100-999
 *		B:如何获取一个数据的每一个位上的数呢?
 *			举例:我有一个数据153,请问如何获取到个位,十位,百位
 *			个位:153%10 = 3;
 *			十位:153/10%10 = 5;
 *			百位:153/10/10%10 = 1;
 *			千位:...
 *			万位:...
 *		C:让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数,在控制台输出
 */
public class ForTest4 {
	public static void main(String[] args) {
		//通过循环获取到每一个三位数
		for(int x=100; x<1000; x++) {
			//获取个位,十位,百位
			int ge = x%10;
			int shi = x/10%10;
			int bai = x/10/10%10;
			
			//让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数,在控制台输出
			if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
				System.out.println(x);
			}
		}
	}
}

2.while循环

    *基本格式:while(判断条件语句){

                            循环体语句

                    };

    *扩展格式:    初始化语句;

                        while(判断条件语句){

                            循环体语句;

                            控制条件语句;

                        };

    *案例

package com.text;
/*
 * while循环语句的基本格式:
 * 		while(判断条件语句) {
 * 			循环体语句;
 * 		}
 * 扩展格式:
 * 		初始化语句;
 * 		while(判断条件语句) {
 * 			循环体语句;
 * 			控制条件语句;
 * 		}
 * 
 * 回顾for循环的语句格式:
 * 		for(初始化语句;判断条件语句;控制条件语句) {
 * 			循环体语句;
 * 		}
 */
public class WhileDemo {
	public static void main(String[] args) {
		//输出10次HelloWorld
		/*
		for(int x=1; x<=10; x++) {
			System.out.println("HellloWorld");
		}
		*/
		
		//while循环实现
		int x=1;
		while(x<=10) {
			System.out.println("HellloWorld");
			x++;
		}
	}
}

3.do.....while

    *基本格式:do{

                        循环语句;

                    }while(判断条件语句);

    *扩展格式:    初始化语句;

                        do{

                                循环语句;

                                控制条件语句;

                        }while(判断条件语句);

    *案例

package com.text;
/*
 * do...while循环的基本格式:
 * 		do {
 * 			循环体语句;
 * 		}while(判断条件语句);
 * 扩展格式:
 * 		初始化语句;
 * 		do {
 * 			循环体语句;
 * 			控制条件语句;
 * 		}while(判断条件语句);
 * 执行流程:
 * 		A:执行初始化语句;
 * 		B:执行循环体语句;
 * 		C:执行控制条件语句;
 * 		D:执行判断条件语句,看是true还是false
 * 			如果是true,回到B继续
 * 			如果是false,就结束
 * 
 * 练习:
 * 		求和案例
 * 		统计水仙花个数
 */
public class DoWhileDemo {
	public static void main(String[] args) {
		//输出10次 HelloWorld
		/*
		for(int x=1; x<=10; x++) {
			System.out.println("HelloWorld");
		}
		*/
		
		//do...while改写
		int x=1;
		do {
			System.out.println("HelloWorld");
			x++;
		}while(x<=10);
	}
}

4.三种循环的区别

    *do....while循环至少执行一次循环体语句;

    *for和while循环只会在条件成立的时候执行循环体语句.

    *for和while的区别

            *控制条件语句所控制的那个变量,在for循环结束后,就不能再使用,而while循环结束后还是可以访问的

猜你喜欢

转载自blog.csdn.net/x490748741/article/details/80791149