当前位置: 首页 > news >正文

四、控制结构

文章目录

  • 引言
  • 一、顺序控制
  • 二、分支控制(if,else,switch)
    • 2.1 if 单分支
    • 2.2 if 双分支
    • 2.3 if 多分支
    • 2.4 if 嵌套分支
    • 2.5 switch分支结构
    • 2.6 switch和if的比较
  • 三、循环控制(for,while,dowhile,多重循环)
    • 3.1 for循环控制
    • 3.2 while循环控制
    • 3.3 do..while循环控制
    • 3.4 多重循环控制
  • 四、break
  • 五、continue
  • 六、return
  • 七、课后题
    • 7.1 九九乘法表
    • 7.2 经典打印金字塔
    • 7.3 break练习
  • 八、细节知识
    • 8.1 使用boolean的赋值表达式作为if的条件语句
    • 8.2 switch的细节知识
    • 8.3 break细节知识

引言

  • 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句
    1. 顺序控制
    2. 分支控制
    3. 循环控制

一、顺序控制

在这里插入图片描述

二、分支控制(if,else,switch)

在这里插入图片描述

2.1 if 单分支

在这里插入图片描述

在这里插入图片描述

2.2 if 双分支

在这里插入图片描述

在这里插入图片描述

2.3 if 多分支

在这里插入图片描述

在这里插入图片描述

2.4 if 嵌套分支

在这里插入图片描述

2.5 switch分支结构

在这里插入图片描述

  • switch的执行流程图
    在这里插入图片描述

注意:如果case的程序块最后没有break则跳过其后的case判断直接按顺序执行其后的代码块,这种现象称之为 穿透

  • switch的细节讨论
    在这里插入图片描述

2.6 switch和if的比较

在这里插入图片描述

三、循环控制(for,while,dowhile,多重循环)

3.1 for循环控制

  • 基本介绍:听其名知其意,就是让你的代码可以循环的执行.
  • 基本语法
    在这里插入图片描述
public class For01{public static void main(String[] args){// 使用for循环控制for(int i = 1;i <= 10;i++){System.out.println("你好,韩顺平教育"+i);}}
}
  • for循环流程图
    在这里插入图片描述

  • for循环控制的注意事项和细节说明
    在这里插入图片描述

public class ForDetail{public static void main(String[] args){int i = 1; // 循环变量初始化,申明在此处可在循环代码块外部被使用for(;i <= 10;){System.out.println("Hello,韩顺平教育" + i);i++;}System.out.println("i=" + i); // 11for(;;){ // 表示无限循环,死循环}}}

3.2 while循环控制

  • 基本语法
    在这里插入图片描述

  • while循环流程图
    在这里插入图片描述

public class While01{public static void main(String[] args){int i = 0; // 循环变量初始化while(i<10){System.out.println("你好,韩顺平" + i);// 执行语句i++; // 循环变量迭代}System.out.println("退出while,继续..");}
}
  • while循环的注意事项和细节说明
    在这里插入图片描述

3.3 do…while循环控制

  • 基本语法
    在这里插入图片描述

  • do … while循环流程图
    在这里插入图片描述

public class DoWhile01{public static void main(String[] args){int i = 1; // 循环变量初始化do{// 循环执行语句System.out.println("你好,韩顺平教育" + i);i++;}while(i<=10);}
}
  • do … while的注意事项和细节说明
    在这里插入图片描述

3.4 多重循环控制

在这里插入图片描述

四、break

在这里插入图片描述

  • 基本介绍
    在这里插入图片描述

  • break注意事项和细节说明
    在这里插入图片描述

五、continue

  • 基本介绍
    在这里插入图片描述

  • 细节案例分析和说明
    在这里插入图片描述

六、return

  • 基本介绍
    在这里插入图片描述

七、课后题

7.1 九九乘法表

import java.util.Scanner;
public class Test{public static void main(String[] args){for(int i = 1;i<=9;i++){for(int j = 1;j<=i;j++){System.out.print(j + "*" + i + "=" + (i*j) + '\t');}System.out.print("\n");        }}
}

在这里插入图片描述

7.2 经典打印金字塔

在这里插入图片描述

public class Test{public static void main(String[] args){// 实心三角int layer = 6;for(int i = 0;i<layer;i++){for(int j = 0;j < 2 * layer - 1;j++){if(j >= layer - 1 - i && j <= layer - 1 + i){System.out.print("*");}else{System.out.print(" ");}}System.out.print("\n");}// 空心三角int layer = 6;for(int i = 0;i<layer;i++){for(int j = 0;j < 2 * layer - 1;j++){if(j == layer - 1 - i || j == layer - 1 + i || i == layer - 1){System.out.print("*");}else{System.out.print(" ");}}System.out.print("\n");}}
}

在这里插入图片描述

在这里插入图片描述

7.3 break练习

在这里插入图片描述

import java.util.Scanner;
public class Test{public static void main(String[] args){// 练习题2String userName;String password;Scanner scanner = new Scanner(System.in);int times = 3; // 剩余机会    for(;times>0;){System.out.print("请输入用户名:");userName = scanner.next();System.out.print("请输入密码:");password = scanner.next();if(userName.equals("丁真") && password.equals("666")){System.out.println("登录成功!");break;}else{times--;System.out.println("用户名或密码错误!!!,还剩" + times + "次机会");}}}
}

八、细节知识

8.1 使用boolean的赋值表达式作为if的条件语句

在这里插入图片描述

8.2 switch的细节知识

在这里插入图片描述

注意:如果case的程序块最后没有break则跳过其后的case判断直接按顺序执行其后的代码块,这种现象称之为 穿透

在这里插入图片描述

8.3 break细节知识

在这里插入图片描述

  • Java中使用break跳出循环时,可以指定为各层指定标签,并使用break直接跳出指定标签层的循环

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 网络协议的基础知识
  • 链表(静态/动态创建,遍历,计数,查找,在节点的前/后方插入新节点,头插法,尾插法)
  • 基于x86 平台opencv的图像采集和seetaface6的人脸检测功能
  • :class的用法及应用
  • java后端请求与响应总结
  • C++入门基础知识31
  • Vue解决父子组件传值,子组件改变值后父组件的值也改变的问题
  • WPF—Triggers触发器
  • Linux驱动开发基础(SR501人体红外模块)
  • HashMap 的实现原理
  • CSS3动画——飞行的小精灵
  • webpark 如何将本地访问地址http://localshot:3000修改为自己需要的访问地址https://www.example.com:3000
  • 【ES6】使用Proxy实现单例模式
  • 论文阅读:scMGCA----模型方法
  • Go语言Time包的使用
  • 2019.2.20 c++ 知识梳理
  • iOS 颜色设置看我就够了
  • Javascript设计模式学习之Observer(观察者)模式
  • JSDuck 与 AngularJS 融合技巧
  • Lucene解析 - 基本概念
  • Octave 入门
  • react-native 安卓真机环境搭建
  • tensorflow学习笔记3——MNIST应用篇
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 好的网址,关于.net 4.0 ,vs 2010
  • ------- 计算机网络基础
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 入门级的git使用指北
  • 三分钟教你同步 Visual Studio Code 设置
  • 数据仓库的几种建模方法
  • 通信类
  • 原生 js 实现移动端 Touch 滑动反弹
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #if等命令的学习
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十)Flink Table API 和 SQL 基本概念
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .Net 8.0 新的变化
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net 设置默认首页
  • .NET/C#⾯试题汇总系列:集合、异常、泛型、LINQ、委托、EF!(完整版)
  • .NET委托:一个关于C#的睡前故事
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [Algorithm][综合训练][体育课测验(二)][合唱队形][宵暗的妖怪]详细讲解
  • [Android Studio 权威教程]断点调试和高级调试