java基础——第四章 循环结构

1、目标

掌握while循环结构

掌握do-while循环结构

掌握for循环结构

理解各种循环结构的适用场景

2、循环

2.1 循环结构的特点

2.2 什么是while循环

2.3 do-while循环

特点:先执行在判断

while与do-while的区别:

执行次序不同

初始情况不满足循环条件时

while循环一次都不会执行

do-while循环不管任何情况都至少执行一次

2.4 for循环

常见问题:

编译错误:变量 i 没有初始化

缺少循环条件,死循环

循环变量不发生变化 ,会导致死循环

循环中缺少必要的循环控制,会导致死循环

作业

//生成游戏答案1~100

import java.util.Random;

Random ran=new Random();

int num=ran.nextInt(100)+1;

1.(使用while循环)随机生成一个1-100之间的数字num,循环让用户输入猜这

个数,

如果用户输入的数字大于num提示输入的数字比较大,

如果用户输入的数字小于num提示输入的数字比较小,

直到用户输入的数字和num相等为止,然后输出用户猜数的总次数

2.(使用for循环)打印出1-100之间所有不是7的倍数和不包含7的数字,并求和

3.(使用while循环)循环输入5个数,输完后显示这些数中有没有负数

4.(使用while循环)有一个有钱的神经病,他往银行里存钱,

第一天存1元,以后每天比前一天多存50%,完成下列计算任务

1)他存到第几天,当天存的钱会超过10元

5.(使用for循环)一个月(30天)后,他总共存了多少钱

6.(使用do-while循环)里有一只蜗牛,他白天往上爬5米,晚上掉3.5米,井深56.7米

计算蜗牛需要多少天才能从井底到爬出来

7.(使用for循环)计算2000年1月1日到2008年1月1日相距多少天。(注意闰年366,平年365)

作业一、

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

// 按两次 Shift 打开“随处搜索”对话框并输入 `show whitespaces`,
// 然后按 Enter 键。现在,您可以在代码中看到空格字符。
public class Main {
public static void main(String[] args) {
Random ran = new Random();
int num = ran.nextInt(100)+1;
int i = 1;
int num2;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数");
while(true) {
num2 = sc.nextInt();
if (num2 == num){
System.out.println("输入正确,一共输入了" +i +"次");
break;
}else if(num2>num){
System.out.println("输入的数字比较大");
}else {
System.out.println("输入的数字比较小");
}
i++;
}
}
}

作业二、1-100内7的倍数

public class multiple {
public static void main(String[] args) {
int num1 = 0;
int num2 = 0;

for (int i = 1;i<=100;i++){
if (i%7==0){
num1 +=i;
}else {
num2 +=i;
}
}
System.out.println("7的倍数之和" + num1 +"不是7的倍数之和" + num2);
}
}

作业三、判断五个数是否有负数

import java.util.Scanner;

public class fivenumber {
public static void main(String[] args) {
int[] arr = new int [5];
int i = 0;
Scanner sc = new Scanner(System.in);
while(i<5){
arr[i] = sc.nextInt();
i++;
}
System.out.println("" + arr[1]);
i = 0;
while(i<5){
if (arr[i] < 0){
System.out.println("有负数");
}
i++;
}
}
}

作业四、傻子存钱

public class day {
    public static void main(String[] args) {
        double mon =1;
        double num = 0;
        int day = 0;
        while(num<=10){
            num += mon;
            mon*=1.5;
            day++;
        }
        System.out.println("存了" + day + "天");
//30天后
        num = 1;
        for (int i = 0;i<30;i++){
            num += mon;
            mon*=1.5;
        }
        System.out.println("存了" + num + "钱");

    }
}



作业五、蜗牛

public class pa {
public static void main(String[] args) {
double sum = 0;
int day = 1;
do{
sum += 5;
if (sum>=56.7){
break;
}
sum -= 3.5;
day++;
}while (true);
System.out.println(""+day);
}
}

作业五、2000到2008相距多少天

public class time {
public static void main(String[] args) {
int sum = 0;
// int day;

for (int year = 2000 ;year<2008;year++){
if (year%4 == 0 && year%100!=0 || year%400==0){
sum+=366;
}else{
sum+=365;
}
}
System.out.println("相距" + sum + "天");
}
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值