Debug和循环

1.for循环

格式:
    for(1初始化语句;2条件判断语句;3条件控制语句){
    	4循环体语句;
    }

执行流程:
	1   2   4   3   2   4   3    2 
	                             为false时循环结束
1.1输出10次信息
package com.itheima01;

public class Demo01for循环10{

    public static void main(String[] args) {
        //输出十次广告

        //i的变化是 0 - 9 是十次
        for(int i=0; i<10; i++){
            System.out.println("夏洛");
        }

        //i的变化是 1 - 10 也是十次
        for(int i=1; i<=10; i++){
            System.out.println("马冬梅");
        }

        //快捷键:   数字.fori

    }
}
1.2输出1-5
package com.itheima01;

public class Demo02输出15 {
    public static void main(String[] args) {

        //输出1-5
        for(int i=1; i<=5; i++){
            System.out.println(i);
        }


        //输出5-1
        for(int i=5; i>=1; i--){
            System.out.println(i);
        }
    }
}
1.3求1-5的和
package com.itheima01;

public class Demo03求和 {
    public static void main(String[] args) {

        //求1-5的和

        int sum = 0;

        for (int i = 1; i <= 5; i++) {
            sum = sum + i;
        }

        System.out.println("和是" + sum);

        //到底哪些代码要放在循环里,我该怎么思考?
        //思考代码需不需要执行多次,如果需要执行多次肯定在循环里,如果只需要执行一次肯定在循环外

        /*
            执行流程:
               i=1  sum = 0 + 1;          1
               i=2  sum = 1 + 2;          3
               i=3  sum = 3 + 3;          6
               i=4  sum = 6 + 4;          10
               i=5  sum = 10+ 5;          15
               i=6  false
         */
    }
}
1.4判断奇偶数
package com.itheima01;

public class Demo04 {
    public static void main(String[] args) {

        //写一个程序判断并输出0~10之间的每个整数是奇数还是偶数

        //循环生成0-10
        for (int i = 0; i <= 10; i++) {
            //判断是否是偶数
            if(i%2 == 0){
                System.out.println(i +"是偶数");
            }else{
                System.out.println(i+"是奇数");
            }
        }
    }
}

2.while循环

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

2.1输出10次信息
package com.itheima01;

public class Demo05while循环10{
    public static void main(String[] args) {

        int i = 1;

        while(i<=10){
            System.out.println("马冬梅");
            i++;
        }
    }
}
2.2求1-5的和
package com.itheima01;

public class Demo06求和 {

    public static void main(String[] args) {
        //求1-5的和

        int sum = 0;
        int i = 1;

        while(i<=5){
            sum += i;
            i++;
        }

        System.out.println("和是" + sum);
    }
}
2.3珠穆朗玛峰
package com.itheima01;

public class Demo07珠穆朗玛 {
    public static void main(String[] args) {
        //一张纸的厚度是0.0001米,珠穆朗玛峰的高度是8848米,在理论情况下,
        //一张纸折叠多少次能超过珠穆朗玛峰的高度?

        //折叠一次就让纸厚度乘2,因为要折叠很多次,要用循环
        //循环结束条件paper>shan    循环继续条件paper<=shan
        //结果是次数,要定义变量存储次数

        //定义纸的厚度
        double paper = 0.0001;
        //定义山的高度
        int shan = 8848;

        //定义变量存次数
        int count = 0;

        //循环
        while(paper<=shan){
            paper = paper * 2;
            count++;
        }

        //打印次数
        System.out.println(count);

    }
}

3.do…while循环

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

4.三种循环的区别

for:
	适用于明确循环次数的情况

while:
	适用于不明确循环次数的情况
	while循环更容易写死循环(无限循环)
        while(true){
            System.out.println("马冬梅");
        }
        
do..while:
	没有用..

5.循环跳转语句

continue:
	用在循环里,用来跳过本次循环,会进入到下一次的循环
break:
	用在循环里,用来结束当前循环,把整个循环结束
package com.itheima02;

public class Demo01循环跳转语句 {
    public static void main(String[] args) {
        //break和continue必须放在判断语句中,否则没有意义

        //输出1-10的循环
        for (int i = 1; i <= 10; i++) {
            if(i==5){
                continue;  //跳过本次循环,进入下次循环
            }
            System.out.println(i);
        }
        // 1 2 3 4 6 7 8 9 10


        //输出1-10的循环
        for (int i = 1; i <= 10; i++) {
            if(i==5){
                break;  //直接结束循环
            }
            System.out.println(i);
        }
        // 1 2 3 4 
    }
}

6.循环嵌套【扩展内容】

package com.itheima02;

public class Demo02循环嵌套 {
    public static void main(String[] args) {
        //每天有24小时,每个小时有60分钟,打印从0时0分到23时59分

        //有24个小时,我要写24行代码?一定是循环
        //写一个循环,0 - 23 , i代表小时
        for (int i = 0; i < 24; i++) {
            //每个小时有60分钟,我要写60行代码?一定是循环
            //写一个循环,0 - 59 ,j代表分钟
            for (int j = 0; j < 60; j++) {
                //输出
                System.out.println( i + "时" + j + "分");
            }
        }

        /*
            执行流程:
                i=0  j=0   0时0分
                     j=1   0时1分
                     j=2   0时2分
                     j=2   0时3分
                     ...
                     j=59  0时59分

                 i=1 j=0   1时0分
                     j=1   1时1分
                     j=2   1时2分
                     j=2   1时3分
                     ...
                     j=59  1时59分

                i=23


                     j=59   23时59分

      */
    }
}

7.随机数

1.导包
	import java.util.Random;
	
2.创建对象
	Random r = new Random();

3.获取随机数
    0-9的随机数
	int i = r.nextInt(10);

8.猜数字小游戏

package com.itheima02;

import java.util.Random;
import java.util.Scanner;

public class Demo04猜数字小游戏 {
    public static void main(String[] args) {
        /*
        程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
         根据不同情况给出相应的提示
            如果猜的数字比真实数字大,提示你猜的数据大了
            如果猜的数字比真实数字小,提示你猜的数据小了
            如果猜的数字与真实数字相等,提示恭喜你猜中了

         知识点:
            猜多次又不知道具体几次      while
            随机数                    Random
            猜就是键盘录入             Scanner
            判断                      if
            猜中了                    break
         */

        Random r = new Random();
        int guess = r.nextInt(100)+1;

        //生成随机数
        //循环
        while(true) {
            //让用户键盘输入
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个1-100的整数:");
            int num = sc.nextInt();

            //判断用户输入的大小
            if (num > guess) {
                //猜大了
                System.out.println("你猜大了~");
            } else if (num < guess) {
                //猜小了
                System.out.println("你猜小了~");
            } else {
                //猜中了
                System.out.println("恭喜你猜对了!");
                break;
            }
        }
    }
}

9.存钱案例

package com.itheima02;

import java.util.Scanner;

public class Demo06 {
    public static void main(String[] args) {


        //银行可以存钱,可以存1年 2.25%   2年   2.75%   3年   3.25%   5年   4.15%
        //存钱要大于1000元
        //循环
        while(true) {
            //键盘输入金额
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入金额:");
            int money = sc.nextInt();

            //判断金额是否大于等于1000
            if (money >= 1000) {
                //定义变量保存本息总额
                double bx = 0;
                //如果大于等于1000就继续输入年份
                System.out.println("请输入存几年:");
                int year = sc.nextInt();
                //判断年份,根据年份算利息
                if(year==1){
                    bx = money + money*0.0225*year;
                }else if(year==2){
                    bx = money + money*0.0275*year;
                }else if(year==3){
                    bx = money + money*0.0325*year;
                }else if(year==5){
                    bx = money + money*0.0415*year;
                }else{
                    System.out.println("你输入的年份错误");
                }

                System.out.println("你一共能拿到的钱是:" + bx); //这里没有考虑年份错误的情况,自己可以想象办法

                //结束循环
                break;
            } else {
                //如果小于1000就重新输入
                System.out.println("存的金额要大于等于1000");
            }
        }

    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值