Java程序控制逻辑—流程控制

目录
  • 1 前言
  • 2 条件语句
    • 2.1 if
    • 2.2 switch
  • 3 循环语句
    • 3.1 while
    • 3.2 do-while
    • 3.3 for
    • 3.4 for-in
  • 4 循环控制
    • 4.1 break
    • 4.2 continue
  • 5 码农洞见
    • 5.1 GOTO语句有害论
    • 5.2 结构化程序设计

1 前言

任何一门语言都需要基本的流程控制语句,其思想也符合人类判断问题或做事的逻辑过程。什么是流程控制呢?流程就是做一件事情的顺序,或者说是次序。在程序设计中,流程就是要完成一个功能,而流程控制则是指如何在程序设计中控制完成某种功能的次序。本章将介绍Java语言中关于“流程控制”的使用方法。

2 条件语句

流程控制中最基本的就是条件执行,也就是说,一些操作只能在某些条件满足的情况下才执行,在一些条件下执行某种操作,在另外一些条件下执行另外的操作。Java分支语句主要分为下述两种。

2.1 if

条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。
使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字if之后是作为条件的“布尔表达式”。如果该表达式返回的结果为true,则执行其后的语句;如果为false,则不执行if条件之后的语句。if条件语句可分为简单的if条件语句、if…else语句和if…else if多分支语句。

语法1:

if(条件判断表达式){
    语句1
}

说明:在if后面的条件语句中,必须是一个可以转换成boolean型的表达式,这个表达式需要用括号括起来。当表达式的值为true时执行语句1。

语法2:

if(条件判断表达式){
    语句1
}
else{
    语句2
}

说明:表达式为true时执行语句1,表达式为false时执行语句2

语法3:

if(条件判断表达式1){
    语句1
}
else if(条件判断表达式2){
    语句2
}
else if(条件判断表达式3){
    语句3
}
...
else if(条件判断表达式n)
{
    语句N
}
else{
    语句N
}

说明:表达式1为true时执行语句1,表达式1为false时判断表达式2,表达式2为true时执行语句2,表达式2为false时判断表达式3,如此直至表达式n为false,则执行最后一个else后的语句n。

2.2 switch

在进行多重选择的时候,过多if-else-if条件选择语句的嵌套会造成程序维护上的困扰。在Java语言中提供了switch条件选择语句,使用它可以让程序更加简洁清楚。与if条件选择语句不同的是,switch只有一个条件判断表达式。switch是一种多选一的条件选择语句,它是按照条件判断表达式的运算结果来决定在多个程序分支中选择其中之一的程序分支,并执行这个程序分支内的程序代码。

switch条件选择语句的语法如下:

switch (表达式) {
    case 数值1:语句1;break;
    case 数值2:语句2;break;
    case 数值3:语句3;break;    
    ...
    default:语句0;
}

说明:switch的表达式类型为整型(包括byte、short、char、int等)、字符类型及枚举类。switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句,或者执行到switch语句的结束处为止。如果没有相匹配的case标签,而有default子句,就执行这个子句。

3 循环语句

所谓循环,就是多次重复执行某些类似的操作,这个操作一般不是完全一样的操作,而是类似的操作。循环语句是程序开发非常重要,也是使用频率很高的一个技能点。在Java中,循环有4种形式,分别是whiledo/whileforforeach

3.1 while

while 循环的形式是:

while(布尔表达式) {
    语句块; //可以是单条语句, 也可以是复合语句
}

执行语句会在每一次循环前,判断布尔表达式返回值是否为 true

3.2 do-while

do-while循环语句的一般格式如下:

do{
语句块;
} while(布尔表达式);

do…while语句与while语句不同的是,它先执行大括号内的循环体,再判断条件,如果条件不满足,下次不再执行循环体。也就是说,在判断条件之前,就已经执行大括号内的循环体。

3.3 for

for 循环可能是最常用的迭代形式。 该循环在第一次迭代之前执行初始化。随后,它会执行布尔表达式,并在每次迭代结束时,进行某种形式的步进。for 循环的形式是:

for(初始化表达式;循环条件;迭代语句) {
   循环体;
}

初始化语句是循环的初始状态,循环条件是条件判断的布尔表达式,如果表达式的值为true,则执行后面的语句,接下来执行后面的迭代语句。如果条件判断表达式第一次求值就为false,那么for循环不会进行任何的迭代,后面的循环体和迭代语句也不会执行任何操作。
一次循环结束后,下一次循环开始前,执行迭代部分的语句,然后判断循环条件表达式的值,决定是否进行下一次循环。

3.4 for-in

Java 5 引入了更为简洁的“增强版 for 循环”语法来操纵数组和集合。for-in 语法可以节省我们编写代码的时间。 更重要的是,它提高了代码可读性以及更好地描述代码意图而不是详细说明这操作细节。

for-in的语句格式如下:

for(元素类型 元素变量 : 遍历对象){   
    循环体;
}

大部分文档也称其为for-each 语法,但因为了不与 Java 8 新添的 forEach() 产生混淆,因此我称之为 for-in 循环。

4 循环控制

在任何迭代语句的主体内,都可以使用 break continue 来控制循环的流程。 其中,break 表示跳出当前循环体。而 continue 表示停止本次循环,开始下一次循环。

4.1 break

break语句通常用在循环语句和开关语句中,例如用在开关语句switch中,break语句可以使程序跳出switch而执行switch以后的语句,以防止程序进入死循环而无法退出。当break语句用于do…while、for、while循环语句中时,可使程序终止循环。

4.2 continue

continue语句用来略过循环中剩下的语句,停止当前迭代,重新开始新的循环,这和break语句的完全跳出循环是不一样的。continue仅仅出现在while、do…while、for语句的子语句块中。也可以使用标签来选择需要终止的嵌套循环的层级。

5 码农洞见

5.1 GOTO语句有害论

程序之所以能够按照人们的意愿执行,主要依靠的是程序的控制结构。早期的程序员广泛使用GOTO语句,它破坏了程序设计结构性,导致程序流程的混乱,使理解和调试程序都产生困难。1968年Dijkstra等人发表了著名的论文《GOTO语句有害论》,即“所有有意义的程序流程都可以使用三种基本的结构来构成”。自此人们的编程方式发生重大变化正是这个原因,在Java程序设计中,虽然goto作为关键字保留了下来,但是一直没有启用。

5.2 结构化程序设计

结构化程序设计(Structured programming)是一种经典的编程模式,它强调用模块化、积木式的方法来建立程序。采用结构化程序设计方法,可使程序的逻辑结构清晰、层次分明、可读性好、可靠性强,从而提高了程序的开发效率,保证了程序质量,改善了程序的可靠性。
一般来说程序的结构包含以下3种。
(1)顺序结构。
(2)选择结构。
(3)循环结构。
这3种不同的结构有一个共同点,就是它们都只有一个入口,也只有一个运行出口。这些单一的入口、出口可让程序可控、易读、好维护。

到此这篇关于Java程序控制逻辑—流程控制的文章就介绍到这了,更多相关Java流程控制内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java流程控制之循环结构for,增强for循环

    目录 1.for循环 1.1-for循环语法格式及说明 1.2-for循环实例练习演示 2.增强for循环 2.1-增强for循环语法格式及说明 2.2-增强for循环实例演示 1.for循环 虽然所有循环结构都可以用 while 或者 do-while来表示,但 for 循环的出现,可使一些循环结构变得更加简单明了. 注意: for循环执行的次数是在执行前就确定的. 实例助解:while循环和for循环 public static void main(String[] args) { int

  • Java流程控制之顺序结构

    目录 1.关于顺序结构 2.顺序结构简单图示 3.示例助解 Java中的流程控制语句可以这样分类:顺序结构,选择结构,循环结构. 1.关于顺序结构 JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行. 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的. 它是任何一个算法都离不开的一种基本算法结构. 2.顺序结构简单图示 顺序结构在程序流程图中的体现就是用流程线将程序框自上而地连接起来,按顺序执行算法步骤. 如图: 3.示例助解 pub

  • Java流程控制之循环结构while、do...while

    目录 1.while 循环 2.do-while 循环 3.while和do-while的区别 本篇笔记内容记录while循环以及do-while循环,下一篇将讲述for循环以及延伸出来的增强型for循环(Java5新加) 前言: 在了解了选择结构之后,我们发现,仅通过选择结构,无法让程序一直跑着,我们每次运行就停止了.这在真实环境中肯定是不行的,比如网站的服务器,需要24小时无休地跑着,以及程序跑多少次等等. 为了解决这个问题,循环结构自然而然地诞生了! 顺序结构的程序语句只能跑一次(执行一次

  • Java程序控制逻辑—流程控制

    目录 1 前言 2 条件语句 2.1 if 2.2 switch 3 循环语句 3.1 while 3.2 do-while 3.3 for 3.4 for-in 4 循环控制 4.1 break 4.2 continue 5 码农洞见 5.1 GOTO语句有害论 5.2 结构化程序设计 1 前言 任何一门语言都需要基本的流程控制语句,其思想也符合人类判断问题或做事的逻辑过程.什么是流程控制呢?流程就是做一件事情的顺序,或者说是次序.在程序设计中,流程就是要完成一个功能,而流程控制则是指如何在程

  • Java流程控制break和continue

    目录 1.break 关键字 1.1语法 1.2实例助解 2.continue 关键字 2.1语法 2.2实例助解 3.两者区别 1.break 关键字 break 主要用在: ① 循环语句中 ② switch语句中 它的作用: 用来跳出整个语句块. 1.1语法 break 的用法很简单,如下: break; 就是循环体中一条简单的语句. 1.2实例助解 例子中有上篇所写的增强for循环   public static void main(String args[]) { int [] numb

  • Java流程控制之选择结构

    目录 1.if单选择结构 2.if双选择结构 3.if多选择结构 4.嵌套的if结构 5.switch多选择结构 6.补充:case穿透 布尔表达式: 布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假)两个取值. 最简单的布尔表达式是等式(equality),这种布尔表达式用来测试一个值是否与另一个值相同. 例如: 2 == 4 ? --------------> false 1.if单选择结构 我们平常经常会面临选择,所以选择结构对于我

  • 详解Java中的流程控制

    1.分支结构的概念 当需要进行条件判断并做出选择时,使用分支结构 2.if分支结构 格式: if(条件表达式){ 语句块; } package com.lagou.Day04; import java.util.Scanner; /** * 编程使用if分支结构模拟网吧上网的过程 */ public class Demo01 { public static void main(String[] args) { //1.提示用户输入年龄信息并使用变量记录 System.out.println("请

  • 深入讲解Java中的流程控制与运算符

    Java流程控制 Java流程控制的语法与 C/C++ 类似,也有 if...else.while.do...while.for.switch...case等,这里不再讲述具体语法,仅举例说明. 输出九九乘法表(右上三角): public class Demo { public static void main(String[] args){ int i, j; for(i=1; i<=9; i++){ for(j=1; j<=9; j++){ if(j<i){ //打印八个空格,去掉空

  • JAVA 流程控制专项精讲

    目录 流程控制 JAVA输入输出 输入 输出 分支语句 ifelse switchcasedefault 循环语句 for for in whiledowhile break continue 这里是JAVA成仙之路,关注我学习JAVA不迷路 流程控制 JAVA输入输出 输入 两种输入方法: 方法一:java.util.Scanner 代码如下: public class a { public static void main(String[] args) { var sc = new Scan

  • Java流程控制顺序结构原理解析

    这篇文章主要介绍了Java流程控制顺序结构原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 流程控制的概念 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说,程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能. 流程控制之顺序结构 根据代码的编写顺序,从上往下,依次执行. 顺序结构之流程图 ​ 需求 举例说明顺序结构的执行

  • Java基础之三大控制流程结构

    一.前言 在代码的控制流程当中,有三大结构.分别是顺序结构,选择结构,循环结构,就让我们来看一看这三大结构体和一些语句吧 二.顺序结构 顺序结构是指按照顺序一句一句地执行 public class Demo{ public static void main(String[] args) { System.out.println("顺序1"); System.out.println("顺序2"); System.out.println("顺序3")

  • 新手初学Java流程控制

    目录 Java流程控制 用户交互Scanner next() nextLine() 选择结构 if单选择结构 if双选择结构 if多选择结构 嵌套if结构 Switch多选择结构 while循环 do while 循环 For循环 增强for循环 break和continue 总结 Java流程控制 用户交互Scanner java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入 基本语法 Scanner sc = new Scanner(System.i

随机推荐