循环语句

循环语句

for循环

格式:

for(初始化表达式语句;判断条件语句;控制条件语句) {
		循环体语句;
	}

执行流程:

  1. 执行初始化表达式语句
  2. 执行判断条件语句,看其返回值是true还是false
    1. true:继续执行
    2. false:结束循环
  3. 执行循环体语句
  4. 执行控制条件语句
  5. 回到流程2.继续

例:

package com.Lei.www;
/*在控制台输出所有的”水仙花数”
        所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。*/
public class Flower {
    public static void main(String[] args) {

        for(int i=100;i<1000;i++){     //三位数x,100<=x<=999
            int x = 0;
   
            /*百位:i/100
              十位:(i%100)/10
              个位:i%10 */
            x =(i/100)*(i/100)*(i/100)+((i%100)/10)*((i%100)/10)*((i%100)/10)+(i%10)*(i%10)*(i%10);

            if(x == i){
                System.out.println(x + "是水仙花数");
            }
        }
    }
}

注意事项:初始化表达式语句只执行一次

while循环

格式:

初始化条件语句;
	    while(判断条件语句) {
			 循环体语句;
			 控制条件语句;
	   }

执行流程:

  1. 执行初始化表达式语句
  2. 执行判断条件语句,看其返回值是true还是false
    1. true:继续执行
    2. false:结束循环
  3. 执行循环体语句
  4. 执行控制条件语句
  5. 回到流程2.继续

例:

public class MyTest2 {
    public static void main(String[] args) {
        //输出10---1
        int num=10;
        while (num>=1){
            System.out.println(num);
            num--;
        }

        //求1---100之间的和

        int i = 1;
        int sum=0;
        while (i<=100){
            sum+=i;
            i++;
        }
        System.out.println(sum);

    }
}

do…while循环

格式:

初始化条件语句;
		do {
			循环体语句;
			控制条件语句;
		}while(判断条件语句);

执行流程:

  1. 执行初始化表达式语句
  2. 执行循环体语句
  3. 执行控制语句
  4. 执行判断条件语句,看其返回值是true还是false
    1. true:继续执行
    2. false:结束循环
  5. 回到流程2.继续

注意事项:do…while循环语句至少执行一次

int i=1,j=10;
do {
if ( i++>--j ) 
continue;
} while ( i<5 );
System.out.println("i=" + i + ", j=" + j);

i=5,j=6
    
  //  i   --j        i++      j       判断    
  //  1    9          2       9
  //  2    8          3       8       i<5      true
  //  3    7          4       7       i<5      true
  //  4    6          5       6       i<5      false   执行输出语句 i=5,j=6
                  Continue 整个过程未执行

循环语句例题:

/*需求:请输出下列的形状
        *
        **
        ***
        ****
        ******/
import java.util.Scanner;
public class Fortest2 {
    public static void main(String[] args) {
        Scanner into = new Scanner(System.in);
        System.out.println("请输入星星行数:");
        int x = into.nextInt();

        for (int i = 0; i <= x; i++) {       //输出i行*
            for (int j = 0; j < i; j++) {    //第i行输出i列*
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
//打印乘法表
import java.util.Scanner;
public class Fortest3 {
    public static void main(String[] args) {
        Scanner into = new Scanner(System.in);
        System.out.println("请输入乘法表行数:");
        int x = into.nextInt();

        for (int i = 1; i <= x; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}

break语句

使用场景:

  1. 在选择结构switch语句中
  2. 在循环语句中

注意:离开使用场景的存在是没有意义的

作用:

  1. 退出单层循环
  2. 退出多层循环(几乎不使用)
    例:
for (int i=0; i<3; i++) {                  
for (int j=0; j<3; j++) {                             
if (i == j) {
break;
}
System.out.println("i=" + i + ", j=" + j);
}
}                       //第一次 i = 0,j = 0,结束内循环,跳过输出
i=1,j=0 //第二次          //第三次 i = 1,j = 1,结束内循环,跳过输出
i=2,j=0//第四次          
i=2,j=1//第五次          //第六次 i = 2,j = 2,结束内循环,跳过输出

执行 i++ ,j++   循环结束

continue语句

使用场景:

  1. 在循环语句中
  2. 离开使用场景的存在是没有意义的

例:

for (int i=0; i<3; i++) {
for (int j=0; j<3; j++) {
if (i == j) {
continue;
}
System.out.println("i=" + i + ", j=" + j);
}
}

i=0,j=1 
i=0,j=2
i=1,j=0 
i=1,j=2 
i=2,j=0 
i=2,j=1 
    
跳过了i=0,1,2;j=0,1,2的循环,也就跳过了输出语句
for(int x=1; x<=10; x++) {
		if(x%3==0) {
			//在此处填写代码
		}
		System.out.println(“精彩”);
	}
	
	我想在控制台输出2:“精彩“ //break;
        //当x = 3 时 结束循环,输出语句执行两次
	我想在控制台输出7:“精彩“ //continue;
        //当x = 3,6,9时 跳过循环,输出语句执行七次
	我想在控制台输出13:“精彩“//System.out.println(“精彩”);
        //额外执行输出语句三次,共执行十三次
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值