循环结构-

循环结构

循环结构有for循环、while循环、do-while循环

一个循环是由四部分构成的,分别是循环变量、循环条件、循环体、改变循环变量的值。

  • 循环变量,循环变量用于控制循环次数。
  • 循环条件,循环条件用来判断循环是否继续。
  • 循环体,循环体是循环条件为true时,要执行的代码段。
  • 改变循环变量的值,只有循环变量的值能够改变,循环才有结束的时候,否则是死循环。
while循环——格式和流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Q59mRXa-1692019399403)(https://gitee.com/zhou-ying-ying/images/raw/master/images/image-20230807005518866.png)]

初始化语句:
while(循环条件){
循环体语句(被重复执行的代码)
迭代语句;
}
public class Ueven {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        while (i<=10) {
            if (i % 2 != 0) {
                sum *= i;
            }
            i++;
        }
        System.out.println("输出一到10的奇数的乘积" +sum);
    }
for循环的格式和流程
for (表达式1; 表达式2; 表达式3) {
循环体
}
// 表达式1 : 循环变量的初始化
// 表达式2 : 循环条件
// 表达式3 : 改变循环变量的值
// 循环体 :要重复循环的部分
表达式1 --> 表达式2 --> 循环体 --> 表达式3 --> 表达式2 --> 循环体 --> 表
达式3 --> 表达式2
// 输出所有的水仙花数
// 编写一个Java程序,使用for循环输出所有7的倍数,直到200为止。
// 编写一个循环,计算并输出从 1到10的所有整数的平方
// 编写一个循环,计算并输出从 1 到 100 之间所有偶数的和
// 编写一个循环,计算并输出从 10 到1之间所有奇数的乘积
public class Exec01 {
    public static void main(String[] args) {
        // 编写一个Java程序,使用 for 循环输出所有7的倍数,直到200为止。
        for (int i = 1; i <= 200; i ++) {
            if (i % 7 == 0) {
                System.out.println(i);
            }
        }
    }
public class Exec02 {
    public static void main(String[] args) {
        // 编写一个循环,计算并输出从 1到10的所有整数的平方
        for (int i = 1; i <= 10; i ++) {
            System.out.println(i * i);
        }
    }
public class Exec03 {
    public static void main(String[] args) {
        // 编写一个循环,计算并输出从 1 到 100 之间所有偶数的和
        int sum = 0;
        int num = 2;
        while (num <= 100) {
//            if (num % 2 == 0) {
                sum += num;
//            }
            num += 2;
        }
        System.out.println(sum);
    }
public class Exec03 {
    public static void main(String[] args) {
        // 编写一个循环,计算并输出从 1 到 100 之间所有偶数的和
        int sum = 0;
        int num = 2;
        while (num <= 100) {
//            if (num % 2 == 0) {
                sum += num;
//            }
            num += 2;
        }
        System.out.println(sum);
    }
do——while循环——格式和流程
初始化语句;
do{
    循环体语句;
    迭代语句;
}while(循环条件);
int i=0;
do{
    System.out.println("Hello World");
    i++;
}while(i<3);
1. for循环 和 while循环(先判断后执行);
do...while (先执行后判断)
2.for循环和while循环的执行流程是一模一样的,功能上无区别,for能做的while也能做,反之亦然。
如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议while循环。
3 for循环中控制循环的变量只在循环中使用
while循环中,控制循环的变量在循环后还可以继续使用
死循环
// for死循环
for ( ; ; ){
System.out.println("Hello World1");
}
// while死循环
while (true) {
System.out.println("Hello World2");
}
// do-while死循环
do {
System.out.println("Hello World3");
}while (true);
循环嵌套

循环嵌套执行流程:外部循环每循环一次,内部循环会全部执行完一轮。

public class MultipleTable {
    public static void main(String[] args) {
        // 输出乘法口诀表
        // 外层控制 第一个乘数 1 - 9   内层控制被乘数 1 - 9数
        for (int i = 1; i <= 9; i ++) {
            for (int j = 1; j <= i; j ++) {
                System.out.print(j + "*" + i + "=" + i * j + "\t");
            }
            System.out.println();
        }
    }
public class Qian {
    public static void main(String[] args) {
        // 需求:在控制台使用 * 打印出4行4列的矩形
        //    1. **** 4 *
        //    2. ****
        //    3. ****
        //    4. ****
        for (int i = 0; i < 4; i ++) {
//            for (int j = 0; j < 4; j ++ ) {
//                System.out.print("*");
//            }
            int j = 0;
            while (j < 4) {
                System.out.print("*");
                j ++;
            }
            System.out.println();
        }
    }
跳转语句
标签

标签可以放在for、while或do语句之前,其语法格式为:标签: 语句;

//编写程序输出1到100之间的质数和
// 一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数
public class Prime {
    public static void main(String[] args) {
            outer:
            for (int i = 1; i <= 100; i++) {
                int count = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) {
                        count++;
                    }
                    if (count > 2) {
                        continue outer;
                    }
                }
                if (count == 2) {
                    System.out.println(i + "是素数");
                }
            }
        }
break、continue
  • break作用:跳出并结束当前所在循环的执行

  • continue作用:结束本次循环,进入下一次循环

public class Break01 {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i ++) { // i = 0  i = 1 i = 2 i = 3
            if (i == 3) {
                break;
            }
            System.out.println("我爱你");
        }
    }
public class Continue01 {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i ++) { // i = 1  i = 2 i = 3 i = 4 i = 5
            if (i == 3) {
                continue;
            }
            System.out.println(i + "洗碗");
        }
    }

break:只能用于结束所在循环,或者结束所在switch分支的执行。

continue:只能在循环中进行使用。

  1. 什么是流程控制

答:流程控制是用来控制程序的执行顺序的

  1. 分支结构if和switch,如何选择?

答:if分支:一般用于对一个范围进行判断switch分支:对一个一个值进行匹配

  1. for循环和while循环、do-while如何循环

答:知道循环次数用for、不知道循环次数用while想要先执行,再判断,用do-while

生成随机数
// 目标:掌握使用Random生成随机数的步骤。
// 1、导包。import java.util.Random; (idea会自动完成)
import java.util.Random;
public class RandomDemo1 {
public static void main(String[] args) {
// 2、创建一个Random对象,用于生成随机数。
Random r = new Random();
// 3、调用Random提供的功能:nextInt得到随机数。
for (int i = 1; i <= 20; i++) {
int data = r.nextInt(10); // [0 - 9]
System.out.println(data);
}
}
}
 public static void main(String[] args) {
        //随机生成一个1-100之间的数据,提示用户猜测,猜大提示
        //过大,猜小提示过小,直到猜中,结束游戏
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入100以内(包括100)的一个数:");
            int number1 = sc.nextInt();
            Random r = new Random();
            System.out.println("来和下面这个数比大小吧!");
            int number2 = r.nextInt(100) + 1;
            System.out.println(number2);

            if (number1 > number2) {
                System.out.println("你猜大了!");
            } else if (number1 < number2) {
                System.out.println("你猜小了!");
            } else if (number1 == number2) {
                System.out.println("你猜对了!");
                break;
            }
        }
    }

f (number1 > number2) {
System.out.println(“你猜大了!”);
} else if (number1 < number2) {
System.out.println(“你猜小了!”);
} else if (number1 == number2) {
System.out.println(“你猜对了!”);
break;
}
}
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值