韩顺平零基础学JAVA120-140集学习笔记

本文详细介绍了Java中的for、while、do...while循环控制结构,包括它们的基本语法、执行流程分析和注意事项,以及嵌套循环和break语句的使用。通过实例演示了如何利用这些循环结构实现经典的金字塔打印和控制流程的终止。
摘要由CSDN通过智能技术生成

JAVA20231130

121122123124125循环控制for

基本语法:

for(循环变量初始化;循环变量;循环变量迭代){

​ 循环操作(可以多条语句);

}

说明:

  1. for关键字,表示循环控制
  2. for有四要素:(1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代
  3. 循环操作,这里可以有多条语句,也就是我们要循环执行的代码
  4. 如果 循环操作(语句)只有一条语句,可以省略{},建议不要省略

执行流程分析:

请添加图片描述

注意事项和细节说明:

  1. 循环条件是返回一个布尔值的表达式
  2. for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略
  3. 循环初始值可以有多条初始化语句,但要求类型一样,而且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开

for循环练习题:

请添加图片描述

126127128循环控制while

基本语法:

循环变量初始化

whlie(循环条件){

​ 循环体(语句);

​ 循环变量迭代;

}

说明:

while循环也有四要素,只是四要素放的位置和for不一样

循环执行流程分析:

请添加图片描述

注意事项和细节说明:

  1. 循环条件是返回一个布尔值的表达式
  2. while循环是先判断再执行语句

while练习题:

请添加图片描述

129130131132do…while循环控制

基本语法:

循环变量初始化;

do{

​ 循环体(语句);

​ 循环变量迭代;

}while(循环条件);

说明:

  1. do while是关键字
  2. 也有循环四要素,只是位置不一样
  3. 先执行,在判断,也就是说,一定会至少执行一次
  4. 注意最后while有一个分号

循环执行流程分析图:

请添加图片描述

注意事项和细节说明:

  1. 循环条件是返回一个布尔值的表达式
  2. do…while循环是先执行,再判断,因此它至少执行一次

do…while循环练习题:

请添加图片描述

133134135136多重循环控制

介绍:

  1. 将一个循环放在另一个循环体内,经形成了嵌套循环。其中,for,while,do…while均可以作为外层循环和内层循环(建议一般使用两层,最多不要超过3层,否则代码可读性很差)
  2. 实质上,嵌套循环就是把内层循环当成外层外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环
  3. 设外层循环次数为m次,内层为n次,则内层循环中的循环语句需要执行m*n次

应用实例:

请添加图片描述

经典的打印金字塔:
请添加图片描述

public class Stars {
//编写一个 main 方法
public static void main(String[] args) {
/*
*
* *
* *
********
思路分析
化繁为简
1. 先打印一个矩形
*****
*****
*****
*****
*****
2. 打印半个金字塔
* //第 1 层 有 1 个*
** //第 2 层 有 2 个*
*** //第 3 层 有 3 个*
**** //第 4 层 有 4 个*
***** //第 5 层 有 5 个*
3. 打印整个金字塔
* //第 1 层 有 1 个* 2 * 1 -1 有 4=(总层数-1)个空格
*** //第 2 层 有 3 个* 2 * 2 -1 有 3=(总层数-2)个空格
***** //第 3 层 有 5 个* 2 * 3 -1 有 2=(总层数-3)个空格
******* //第 4 层 有 7 个* 2 * 4 -1 有 1=(总层数-4)个空格
********* //第 5 层 有 9 个* 2 * 5 -1 有 0=(总层数-5)个空格
4. 打印空心的金字塔 [最难的]
* //第 1 层 有 1 个* 当前行的第一个位置是*,最后一个位置也是*
* * //第 2 层 有 2 个* 当前行的第一个位置是*,最后一个位置也是*
* * //第 3 层 有 2 个* 当前行的第一个位置是*,最后一个位置也是*
* * //第 4 层 有 2 个* 当前行的第一个位置是*,最后一个位置也是*
********* //第 5 层 有 9 个* 全部输出*
先死后活
5 层数做成变量 int totalLevel = 5;
//小伙伴 技术到位,就可以很快的把代码写出
*/
int totalLevel = 20; //层数
for(int i = 1; i <= totalLevel; i++) { //i 表示层数
//在输出*之前,还有输出 对应空格 = 总层数-当前层
for(int k = 1; k <= totalLevel - i; k++ ) {
System.out.print(" ");
}
//控制打印每层的*个数
for(int j = 1;j <= 2 * i - 1;j++) {
//当前行的第一个位置是*,最后一个位置也是*, 最后一层全部 *
if(j == 1 || j == 2 * i - 1 || i == totalLevel) {
System.out.print("*");
} else { //其他情况输出空格
System.out.print(" ");
}
}
//每打印完一层的*后,就换行 println 本身会换行
System.out.println("");
}
}
}

137138139140跳转控制语句break(用来终止循环)

引例:

随机生成 1-100 的一个数,直到生成了 97 这个数,看看你一共用了几次? 提示使用 (int)(Math.random() * 100) + 1 思路分析: 循环,但是循环的次数不知道. -> break ,当某个条件满足时,终止循环 通过该需求可以说明其它流程控制的必要性,比如 break

基本介绍:

break语句用于终止某个语句块的执行,一般使用在switch或者循环[for,whlie,do…whlie]

基本语法:

{

​ …

​ break;

​ …

}

快速入门:

请添加图片描述

注意事项和细节说明:

  1. break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

  2. 标签的基本使用

    请添加图片描述

  3. break语句可以指定退出哪层

  4. label1是标签,名字由程序员指定

  5. break后指定到哪个label就退出到哪里

  6. 在实际开发中,尽量不要使用标签

  7. 如果没有指定break标签,默认退出最近的循环体

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值