Day-3:Java基础—循环

循环结构:(多次执行)

1.for循环:固定循环次数,频繁,结构清晰不容易出错;

                        for(表达式1;表达式2;表达式3){

                        循环体; }

                for循环中:跳出循环:用if....break;

代码内运行步骤:

第一轮循环: 1.表达式1 —> 2.表达式2 —> 3.循环体 —> 4.表达式3;

第二轮循环: 5.表达式2(成立) —> 6.循环体 —> 7.表达式3;

                 注:表达式1:初始条件

                        表达式2:结束条件

                        表达式3:控制变量的递增递减

2.while循环: 不清楚循环次数

                1.初始化变量

                2.while(控制循环条件) {

                                变量递增递减;

                                循环体;

                 }

        int i = 0;
		while(i<10) {
			i++;
			System.out.println(" i= "+i);
		}

3.do...while循环:

                不清楚循环次数;

                先执行再判断,至少执行1次;

(部分代码)
//输入一个数a,判断是几位数:
//先执行再判断
		do {
			a /= 10;
			i++;
//执行次数,当a=0时,在下方判断时会跳出;
		}while(a != 0);

4.关键字:

        1.break关键字:

                1. 用于switch..case语句中的case语句块里,作用是结束switch的执行。

                2. 除非特殊需求需要省去break,否则每个case都要写上break。

        2.continue关键字:

                 1.continue关键字的作用是用于结束本次循环。

                 2.continue只是结束本次循环,而不是结束整个循环。       

                 3.continue通常情况下也是与if语句搭配使用。

1.for...循环练习:

             (1)   “求输入数字的阶乘”

                        要求:从键盘录入数字,用for循环计算出该数的阶乘,并输出;

package com.gy;

import jdk.util.Scanner;

public class ForLoop {

	public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    System.out.println("请输入一个整数:")  
    int num = sc.nextInt();

    int n = 1; //因为是阶乘,0乘任何数结果都为0,故n的初始值不能为0;
	for(int i = num;i >= 1; i--) {
		n = n*i;
		System.out.println(n);
	}
	System.out.println(num+"的阶乘为"+n);
	
	}
}

              (2)  “水仙花数”

                        要求:水仙花:3位数 个位立方+十位立方+百位立方=数字本身

1000以内用for....循环判断 哪些为水仙花数,并输出;                

package com.lanou;

public class ForLoop2 {

	public static void main(String[] args) {
		
		int count = 0;
		
		for(int i = 100 ; i < 1000;i++) {
			int b = i/100;    //百位
			int s = i/10%10;  //十位
			int g = i%10;     //个位

		if(b*b*b+s*s*s+g*g*g == i) {
			
			System.out.println("该数为水仙花数:"+i);
			
			count += 1; //或count++:统计数量
			
		}
		
		}
		System.out.println("一共有"+ count +"个水仙花数");
	}
	
}

2.while..循环练习:

              (1)  “提示输入1~7之间的数”

                        要求:当输入值不在1~7内时,提示“请输入1~7之间的整数:”,用while..循环;

package com.gy;

import java.util.Scanner;

public class while1 {

	public static void main(String[] args) {
		
	Scanner sc = new Scanner(System.in); 
		int n = 0;

        //while:不满足条件会跳出循环体!

		while(n>7||n<1){
			System.out.println("请输入一个数1~7之间的数:");
			n = sc.nextInt();
		}
		System.out.println("结束."+n);
		
	}
}

                (2)“珠穆朗玛峰---折纸”

                        要求:珠穆朗玛峰: 8844.43m;纸:0.1mm;

                用while..循环计算出需要纸需要对折多少次才能到达珠穆朗玛峰的高度;

package com.gy;

public class while3 {

	public static void main(String[] args) {
		// 珠穆朗玛峰 8844.43m 纸:0.1mm 
		// 折叠多少次
		int i = 0;
		double n = 0.1;
		// 0.1  0.2  0.4  0.8
		while(n <= 8844430) {
			
			i++;
			n= n*2;//等价于n*=2;
			
		}
		System.out.println("次数是:"+i);
		
	}

}

本文为个人学习总结,感谢大家借鉴,共同进步!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@玥欧巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值