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

Java流程控制03——顺序结构(本文为个人学习笔记,内容整理自哔哩哔哩UP主【遇见狂神说】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)

Java流程控制03——顺序结构

顺序结构定义:

  1. Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  2. 顺序结构式最简单的算法结构:

    • 由上到下,逐句执行

      在这里插入图片描述

  3. 语句与语句之间,框与框之间是按从上到下的顺序执行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构

实操:

public class 顺序结构实操{public static void main(String[] args){/*顺序结构:顾名思义代码由上到下,逐句执行如:--输入的顺序依次是:System.out.println("hello");System.out.println("word");System.out.println("!");System.out.println("hello_word!");--那么打印的顺序也一定是:helloword!hello_word!*/System.out.println("hello");System.out.println("word");System.out.println("!");System.out.println("hello_word!");}
}

在IDEA上实操及注意事项:

在这里插入图片描述

注意事项:

  1. 执行顺序是明确的,自上而下的:

    • 代码的执行顺序严格按照其在源文件中出现的物理顺序进行,从上到下,一行接着一行。

    • 且必须确保变量**先被声明和赋值然后再被使用**。逻辑上后续的步骤必须写在后面

      • /*
        正常顺序:先定义变量名和变量值在使用*/
        String name = "xiao_ming";  //先定义变量及变量值
        System.out.println("hello:"+ name);  //在使用变量:最后的打印结果为:hello_xiao_ming
        /*
        错误顺序:先使用一个未被定义的变量名再定义变量名和变量值*/
        System.out.println("hello:"+name); //使用的变量名在被定义的变量名前面
        String name = "xiao_Ming";//到这一步,程序崩溃,错误

在这里插入图片描述

在这里插入图片描述

    1. 每一步都会执行且执行一次:

      • 在顺序结构中,不存在跳过某行代码或重复执行某行代码的情况(除非遇到错误中断)

      • 与其他结构相比:

        • 选择结构(if):可能跳过某些代码块
        • 循环结构(for/whlie):会重复执行某些代码块
        • 顺序结构:每行代码都必定会执行一次
    2. 逻辑的正确性完全依赖于语句的顺序:

      • 这是顺序结构最需要警惕的地方。错误的语句顺序会导致程序逻辑错误,但程序本身可能不会报错,从而更难发现。

      • 典型例子:交换两个变量的值——意思是变量名不变,交换对应的值

        • public class 例子交换两个变量的值{public static void main(String[] args){//先定义变量名与变量值int a = 5;int b = 10;System.out.println("交换前:a = "+ a +",b = "+ b);//错误交换1:a = b; //先把b的值(10)赋给了a,现在a的值也变成了10,即a = 10b = a;//再把当前a的值(10)赋给了b,现在b的值也就变成了10,即 b = 10System.out.println("错误交换后:a = "+ a+",b = "+ b); //最后的结果a = 10,b = 10,交换失败。//先重置变量a = 5;b = 10;//错误交换2:b = a;//相反,先把a的值(5)赋给了b,现在b的值变成了5,即b = 5a = b;//再把当前b的值(5)赋给了a,现在a的值也就变成了5,即a = 5System.out.println("错误交换后:a = "+ a+",b = "+ b);//最后的结果b = 5,a = 5,交换失败。//先重置变量a = 5;b = 10;//正确交换:引入临时变量,并按正确顺序赋值int temp = a; //将a的原始值(5)备份到临时变量temp中a = b; //将b的值(10)赋给a,则现实中a的值为10b = temp;//将临时变量中备份的a的原始值(5)赋给bSystem.out.println("正确交换后:a = "+ b+",b = "+ a);//最后的结果a=10,b=5,交换成功 }
          }
        • 在这里插入图片描述

        • 里面的临时变量名temp可以更改为任意变量名

        • 它的作用只是作为一个中间人,将a的原始值保存

        • 它的生命周期再main方法内都有效,可以随时拿来用

最后总结:

顺序结构 (Sequence Structure) 核心要点

主题核心要点说明与示例
基本定义程序的基础控制流代码按照语句出现的先后顺序依次执行,不发生跳转。
执行方式自上而下执行顺序严格遵循代码的物理书写顺序,一条接一条。
执行特性无跳转、无重复每条语句都会执行且只执行一次(在没有错误的情况下)。
关键注意点变量生命周期变量必须先声明、初始化,然后再使用,否则会导致编译错误。
关键注意点逻辑依赖顺序顺序错误会导致逻辑错误(程序能运行,但结果错误)。
关键注意点状态传递后续语句的执行依赖于前面语句改变后的变量状态或创建的对象。
常见错误未定义先使用System.out.println(x); int x = 10; → 编译错误
常见错误错误交换值a = b; b = a; → 逻辑错误 (未能实现交换)
正确实践使用临时变量temp = a; a = b; b = temp; → 正确实现值交换
优点清晰直观逻辑流简单,易于理解和调试。
局限功能有限无法直接实现判断或循环,需与分支、循环结构结合使用。
最佳实践规划步骤编码前先理清逻辑步骤和数据依赖关系。
最佳实践模拟调试使用调试器或脑海模拟执行过程,验证每一步结果。

http://www.dtcms.com/a/357689.html

相关文章:

  • PCIe 6.0 TLP路由机制:解密高效数据传输的核心架构
  • 贪心算法面试常见问题分类解析
  • 了解 JavaScript 虚拟机(VM)引擎
  • 【项目思维】编程思维学习路线(推荐)
  • Simulink过程数据存储为mat
  • PHP的header()函数分析
  • Web开发工具一套式部署Maven/Nvm/Mysql/Redis
  • 迅睿CMS标签工具箱v1.1版本已更新
  • C++ STL之封装红黑树实现map/set
  • linux系统学习(15.启动管理)
  • Anaconda安装与conda使用详细版
  • 杨校老师竞赛课堂之C++语言GESP一级笔记
  • JUC并发编程09 - 内存(01) - JMM/cache
  • HITTER——让双足人形打乒乓球(且可根据球的走向移动脚步):高层模型规划器做轨迹预测和击球规划,低层RL控制器完成击球
  • windows下安装redis
  • fcitx5-rime自动部署的实现方法
  • ​Windows8.1-KB2934018-x64.msu 怎么安装?Windows 8.1 64位补丁安装教程​(附安装包下载)
  • Linux按键驱动开发
  • 基于 Vue + Interact.js 实现可拖拽缩放柜子设计器
  • 忆联参与制定消费级SSD团体标准正式出版! 以“高可靠”引领行业提质增效与用户体验升级
  • 图扑 HT 农林牧数据可视化监控平台
  • 【从零开始搭建你的 AI 编程助手知识库】
  • 静态库生成及使用流程
  • playbook剧本
  • 4. LangChain4j 模型参数配置超详细说明
  • LangChain框架入门02:开发环境配置
  • 光伏发多少电才够用?匹配家庭用电需求
  • 【C/C++】柔性数组
  • 用html+js下拉菜单的demo,当鼠标点击后展开,鼠标点击别的地方后折叠
  • 高斯滤波的简介、C语言实现和实测