不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码。Java同样提供了这两种流程控制结构的语法,Java提供了if和switch两种分支语句,并提供了while、do-while和for三种循环语句。除此之外,JDK5还提供了一种新的循环:foreach循环,能以更简单的方式来遍历集合、数组的元素。Java还提供了break和continue来控制程序的循环结构。

分支结构语句

在介绍分支结构之前先了解一下顺序结构,任何编程语言中最常见的程序结构就是顺序结构。顺序结构就是程序从上到下逐行地执行,中间没有任何判断和跳转。

如果main方法的多行代码之间没有任何流程控制,则程序总是从上向下依次执行,排在前面的代码先执行,排在后面的代码后执行。这意味着:如果没有流程控制,Java方法里的语句是一个顺序执行流,从上向下依次执行每条语句。

Java提供了两种常见的分支控制结构:if和switch语句,其中if语句使用布尔表达式或布尔值作为分支条件来进行控制;而switch语句则用于对多个整型值进行匹配,从而实现分支控制。

1  if条件语句

if语句的完整形式如下所示:

if(判断条件){

代码块(判断条件成立后立即执行)

}

如果if语句中{}中只有一条语句,也可是使用以下的形式简化代码:

if(判断条件) 代码块(判断条件成立后立即执行);

如果判断条件表达式为真,那么执行if语句中{}中的代码;否则,退出if语句,去执行if语句后面代码或结束程序。控制if语句的判断条件表达式必须生成boolean结果。if语句的执行流程如图1所示。

图1  if语句的执行流程

下面的程序演示了if语句的执行流程。

public class IfDemo{

public static void main(String[] args){

int age = 18;

char gender = '男';

if(age >= 18 && gender == '男'){

System.out.println("这是个成年男人");

}

if(age <18 && gender == '女'){

System.out.println("这是个未成年的女孩");

}

}

}

编译并执行这个程序,控制台会输出如图2所显示的信息。

图2  IfDemo运行结果

上面的程序中第一个if语句的判定条件的值为true,将会输出“这是个成年男人”。然后继续执行第二个if语句,但是第二个if语句的判定条件的值为false,不会输出“这是个未成年的女孩”。

因为在每个if语句块中只有一条语句,所以上面的程序可以修改成如下形式:

public class IfDemo{

public static void main(String[] args){

int age = 18;

char gender = '男';

if(age >= 18 && gender == '男')

System.out.println("这是个成年男人");

if(age <18 && gender == '女')

System.out.println("这是个未成年的女孩");

}

}

IT兄弟连 Java语法教程 流程控制语句 分支结构语句1的更多相关文章

  1. IT兄弟连 Java语法教程 流程控制语句 分支结构语句3

    3  if-else if-else条件语句 if-else if-else的完整形式如下: if(判断条件A){ A语句块(判断条件A的值为true,执行) }else if(判断条件B){ B语句 ...

  2. IT兄弟连 Java语法教程 流程控制语句 分支结构语句5

    5  switch-case条件语句 Java中的第二种分支控制语句时switch语句,switch语句提供了多路支持,因此可以使程序在多个选项中进行选择.尽管一系列嵌套if语句可以执行多路测试,然而 ...

  3. IT兄弟连 Java语法教程 流程控制语句 分支结构语句4

    4  嵌套if-else条件语句 嵌套if语句是作为另一个if或else语句的目标的if语句.嵌套if语句在程序设计中非常普遍.Java中,关于嵌套if语句需要记住的是,else语句总是和同一代码块中 ...

  4. IT兄弟连 Java语法教程 流程控制语句 分支结构语句2

    2  if-else条件语句 if-else语句的完整形式如下: if(判断条件){ A代码块(判断条件的值为true,执行) }else{ B代码块(判断条件的值为false,执行) } 当然,如果 ...

  5. IT兄弟连 Java语法教程 流程控制语句 循环结构语句1

    循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循 ...

  6. IT兄弟连 Java语法教程 流程控制语句 循环结构语句4

    do-while循环 Java还有一种循环是do-while.与for.while这些在循环顶部判断条件表达式的语句不同,do-while是在循环底部进行条件表达式的检查.这意味着do-while循环 ...

  7. IT兄弟连 Java语法教程 流程控制语句 循环结构语句3

    while循环 Java中的另外一种循环是while循环.while循环的语法格式如下: while(条件表达式){ 循环体; } 其中条件表达式定义了控制循环的条件,可以使任何有效的boolean表 ...

  8. IT兄弟连 Java语法教程 流程控制语句 循环结构语句2

    双重for循环 如果把一个循环放在另一个循环体中,那么就可以形成嵌套循环,也就是双重for循环,当然嵌套循环也可以是for循环嵌套while循环,也可以是while循环嵌套while循环……,即各种类 ...

  9. IT兄弟连 Java语法教程 流程控制语句 控制循环结构1

    Java语言没有提供goto语句来控制程序的跳转,这种做法提高了程序流程控制的可读性,但降低了程序流程控制的灵活性.为了弥补这种不足,Java提供了continue和break来控制循环结构.除此之外 ...

随机推荐

  1. Python升级后ssl模块不可用问题解决和浅析

    在Cent0S 7.5下将Python 2.7.5升级到Python 3.6.6后,发现ssl模块不可用,具体详细信息如下所示: [root@db-server ~]# pip list Packag ...

  2. enable user-defined extended attributes for ext3 file systems; 增加ext3 文件系统的扩展属性;

    To enable user-defined extended attributes for ext3 file systems (i.e. device), use: tune2fs -o user ...

  3. 选择IT公司的雇主提问

    做为IT从业人员,我们去一家公司时,判断一家公司的专业性时,可以通过以下提问获得反馈: 技术问题 1.这个项目使用了哪些技术(语言,框架,库)?2.应用程序是一体化架构还是微服务架构?3.采用了哪些设 ...

  4. 基于django的个人博客网站建立(六)

    基于django的个人博客网站建立(六) 前言 今天主要完成的是项目在腾讯云服务器上ubuntu16.04+django+mysql+uwsig+nginx的部署过程网站效果可点击这里访问 主要内容 ...

  5. [译]Vulkan教程(27)Image

    [译]Vulkan教程(27)Image Images Introduction 入门 The geometry has been colored using per-vertex colors so ...

  6. freemarker从入门到精通

    目录 一:概述 二:Freemarker的Helloworld 三:freemarker模板语法 1.访问map中的key 2.访问POJO中的属性 3.取集合中的数据 4.判断 5.日期 6.Nul ...

  7. tensorflow中卷积、转置卷积具体实现方式

    卷积和转置卷积,都涉及到padding, 那么添加padding 的具体方式,就会影响到计算结果,所以搞清除tensorflow中卷积和转置卷积的具体实现有助于模型的灵活部署应用. 一.卷积 举例说明 ...

  8. 三行Jquery代码实现简单的选项卡

    今晚,我们来用实现一个简单的选项卡切换代码,主要代码只有两行. 效果: 思路:通过切换JQuery控制div的显隐和样式的改变 其中那个一个div显示,其余全隐藏 实现: <!DOCTYPE h ...

  9. javaWeb核心技术第十二篇之分页和条件

    分页:limit ?,? 参数1 : startIndex 开始索引. 参数2 : pageSize 每页显示的个数 n 表示第几页 给定一个特殊的单词 pageNumber select * fro ...

  10. Set a Many-to-Many Relationship设置多对多关系 (EF)

    In this lesson, you will learn how to set relationships between business objects. For this purpose, ...