Java学习总结——程序控制结构

本文总结了程序执行方向中的程序逻辑,详细介绍了Java中的选择结构(包括if...else、switch语句)和循环结构(while、do...while、for、foreach循环),并提及了循环跳转中的break、continue和return语句。结构化程序设计强调程序的模块化和可读性,而Java中虽然保留了goto关键字,但并未启用。
摘要由CSDN通过智能技术生成

柒——程序执行方向

一、程序逻辑

结构化程序设计(Structured programming)是一种经典的编程模式,在1960年开始发展,其思想最早是由荷兰著名计算机科学家 E.W. Dijkstra 提出的,他设计了一套规则,使程序设计具有合理的结构,用以保证程序的正确性。这套规则要求程序设计者按照一定的结构形式来设计和编写程序,而不是“天马行空”地根据程序员的意愿来编写。早期的程序员广泛使用 GOTO 语句,而自从结构化编程思想推广以来,它已经日益淡出程序设计的舞台。

GOTO 语句也称无条件转移语句,它破坏了程序设计结构性,导致程序流程的混乱,使理解和调试程序都产生困难。1966年5月 Djikstra 在著名学术期刊《Communications of the ACM》发表论文,说明任何一个有 goto 指令的程序,可以改为完全不使用 goto 指令的程序,即 “ 所有有意义的程序流程都可以使用三种基本的结构来构成 ”。1968年 Dijkstra 等发表了著名的论文《GOTO语句有害论》(Go To Statement Considered Harmtul)。

自此人们的编程方式发生重大变化,每种语言都提供这些基本控制结构的实现方式,并提供把数据访问局部化的能力,以及某种形式的模块化编译机制。正是这个原因,在 Java 程序设计中,虽然 goto 作为关键字保留了下来,但是一直没有启用。

结构化程序设计语言,强调用模块化、积木式的方法来建立程序。采用结构化程序设计方法,可使程序的逻辑结构清晰、层次分明、可读性好、可靠性强,从而提高了程序的开发效率,保证了程序质量,改善了程序的可靠性。

一般来说程序的结构包含以下 3 种:

(1)顺序结构。

(2)选择结构。

(3)循环结构。

这 3 种不同的结构有一个共同点,就是它们都只有一个入口,也只有一个运行出口。程序中使用了上面这些结构的好处是这些单一的入口、出口可让程序可控、易读、好维护。

1.顺序结构

结构化程序的最简单的结构就是顺序结构。所谓顺序结构程序就是按书写顺序执行的语句构成的程序段。

通常情况下,顺序结构是指按照程序语句出现的先后顺序一句一句地执行。但有一些程序并不按顺序执行语句,这个过程称为“控制的转移”,它涉及到了另外两类程序的控制结构,即分支结构和循环结构。

2.分支结构

选择结构也称为分支结构,在许多实际问题的程序设计中,根据输入数据和中间结果的不同,需要选择不同的语句组执行。在这种情况下,必须根据某个变量或表达式的值作出判断,以决定执行哪些语句和不执行哪些语句。

选择结构是根据给定的条件进行判断,决定执行哪个分支的程序段。条件分支不是我们常说的“兵分两路”,而条件分支在执行主要用于两个分支的选择,由 if 语句和 if … else 语句来实现。

if … else 语句可以依据判断条件的结果,来决定要执行的语句。

3.循环结构

循环结构是程序中的另一种重要结构,它和顺序结构、选择结构共同作为各种复杂程序的基本构造部件。循环结构的特点是在给定条件成立时,反复执行某个程序段。通常我们称给定条件为循环条件,称反复执行的程序段为循环体。循环体可以是复合语句、单个语句或空语句。在循环体中也可以包含循环语句,实现循环的嵌套。

二、选择结构

Java 语言中的选择结构提供了以下两种类型的分支结构。

条件分支:根据给定的条件进行判断,决定执行某个分支的程序段。

开关分支:根据给定整型表达式的值进行判断,然后决定执行多路分支中的一支。

条件分支主要用于两个分支的选择,由 if 语句和 if … else 语句来实现。开关分支用于多个分支的选择,由 switch 语句来实现。

1.if 语句

if 语句(if - then Statement)用于实现条件分支结构,它在可选动作中作出选择,执行某个分支的程序段。if 语句有两种格式在使用中供选择。要根据判断的结构来执行不同的语句时,使用 if 语句是一个很好的选择,它会准确地检测判断条件成立与否,再决定是否要执行后面的语句。

if 语句的格式如下:       

        if(判断条件){

            语句1 
            …
            语句n
        }

若是在 if 语句主体中要处理的语句只有 1 个,可省略左、右大括号。但不利于阅读和检查错误。

2. if … else 语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值