首页 > 编程语言 >程序控制结构

程序控制结构

时间:2024-01-14 17:46:47浏览次数:34  
标签:语句 continue 内层 while 循环 程序控制 结构 分支

顺序控制

image

分支控制

单分支 if

image

双分支
image

多分支

image

嵌套分支

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支。建议: 不要超过 3 层 (可读性不好)

基本语法:
if(){
  if(){
    //if-else...
  }else{
   //if-else...
  }

}

switch分支

基本语法
    switch(表达式){
        case 常量:
            语句
            break;
        case 常量:
            语句
            break;
        default:
            语句
            break;           
    }

如果判断的具体数值不多,而且符合 byte、 short 、int、 char, enum[枚举], String 这6 种类型。虽然两个语句都可以使用,建议使用 swtich 语句。

其他情况:对区间判断,对结果为 boolean 类型判断,使用 if,if 的使用范围更广

循环控制

for循环

image

循环条件是返回一个布尔值的表达式

for(;循环判断条件;) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。

循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。

while循环

image

循环条件是返回一个布尔值的表达式

while 循环是先判断再执行语句

do while循环

基本语法:

循环变量初始化; 

do{ 

循环体(语句); 

循环变量迭代; 

}while(循环条件);

循环条件是返回一个布尔值的表达式

do..while 循环是先执行,再判断, 因此它至少执行一次

多重循环控制

  1. 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while 均可以作为外层循环和内层循环。【建议一般使用两层,最多不要超过 3 层, 否则,代码的可读性很差】
  2. 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false 时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环[听不懂,走案例]。
  3. 设外层循环次数为 m 次,内层为 n 次,则内层循环体实际上需要执行 m*n 次。
for(int i=1; i< 7; i++){
	for(int j =1 ; j<5 ; j++){
		System.out.println("hello");//6*4=24次
    }
}

break

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

跳转控制语句-continue

continue 语句用于结束本次循环,继续执行下一次循环。

continue 语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环, 这个和前面的标签的使用的规则一样. 例子

label1:
for(int j = 0; j < 4; j++){
label2:
for(int i = 0; i < 10; i++){
if(i == 2){
//看看分别输出什么值,并分析
//continue ;
//continue label2;
continue label1;
}
System.out.println("i = " + i);
}
}
/*
i=0
i=1
i=0
i=1
i=0
i=1
i=0
i=1
*/

跳转控制语句-return

return 使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。如果 return 写在 main 方法,则退出主程序..

标签:语句,continue,内层,while,循环,程序控制,结构,分支
From: https://www.cnblogs.com/zfDr-dr/p/17963947

相关文章

  • 数据结构-------单链表
    单链表:在计算机科学中,链表是数据元素的线性组合,元素储存上并不连续。可以分为:单向链表、双向链表、循环链表 单向链表:首先,定义结点的类型,它包括值和下一个结点 相关java代码:1privateNodehead;//定义头部结点2publicclassNode{3privateint......
  • Oracle怎样写一个sql,将一个不同的表结构的数据迁移到另一个表中,其中有字段需要有映射
    要将一个表的数据迁移到另一个表,并且需要进行字段映射和值转换,可以使用以下步骤:创建目标表:CREATETABLE目标表名(目标字段1数据类型,目标字段2数据类型,...);插入数据并进行字段映射和值转换:INSERTINTO目标表名(目标字段1,目标字段2,...)SELECTCASEWH......
  • 写代码时如何合理的画图表达逻辑结构
    在解决编程基础练习题时,使用图表是一种非常有效的方法,可以帮助你更清晰地表达逻辑结构。以下是一些建议:流程图:流程图是表达程序逻辑结构最常见的一种图表。在流程图中,你可以使用不同的图形表示不同的操作,如矩形表示处理步骤,菱形表示判断条件,箭头表示流程的流向。......
  • 成绩管理系统软件体系结构设计说明书
    ......
  • 技术解密:如何巧妙设计层级结构,轻松解决中间节点删除的挑战?
    嗨,大家好,我是小米!今天我们要聊的话题是一个非常有趣而且挑战性的面试题:“数据是层级结构的,怎么设计方便查询和修改?如果删除中间一个节点,如何保证不改大量数据?”废话不多说,让我们直接跳入这个充满技术乐趣的话题吧!数据结构与层级结构首先,让我们来回顾一下数据结构中的层级结构。在计......
  • Microsoft 365 新功能速递:Teams即将发布一线运营层次结构功能
    51CTOBlog地址:https://blog.51cto.com/u_13969817微软将在2024年1月份发布FrontlineOperationalHierarchy新功能,将使管理员能够将其组织的一线团队/地点结构映射到团队管理中心的层次结构。管理员可以为每个团队/地点定义从部门信息到品牌信息元数据的元数据。操作层次结构与此......
  • 开发日志(数据结构、时间戳、javaException)
     (一)数据库类型mysql中的datetime可以转为postgres的date(二)数据库时间戳postgresql使用时间戳获取时分秒时间1、selectcurrent_timestamp2024-01-1214:16:31.93339+082、selectcurrent_timestamp(0) //去掉秒后面的位数,但仍有时区2024-01-1214:17:42+083、CURRENT_TIMESTAMP(......
  • C 语言结构体和枚举完全指南:成员访问、字符串操作、枚举基础
    访问结构体成员要访问结构体的成员,请使用点语法(.)://创建名为myStructure的结构体structMyStructure{intmyNum;charmyLetter;};intmain(){//创建名为s1的myStructure的结构体变量structMyStructures1;//为s1的成员分配值s1.myNum=......
  • es结构设计的几种优化方式
    1、不需要查询的字段取消建立索引es结构中,默认会给所有字段建立索引,占用索引空间"candidate_person":{"type":"keyword"},"candidate_email":{"type":"keyword","index"......
  • 计算机网络分层结构--OSI模型、TCP/IP 模型、五层模型
    计算机网络分层结构OSI参考模型与TCP/IP参考模型五层参考模型......