IT兄弟连 Java语法教程 流程控制语句 分支结构语句1
不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码。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的更多相关文章
- IT兄弟连 Java语法教程 流程控制语句 分支结构语句3
3 if-else if-else条件语句 if-else if-else的完整形式如下: if(判断条件A){ A语句块(判断条件A的值为true,执行) }else if(判断条件B){ B语句 ...
- IT兄弟连 Java语法教程 流程控制语句 分支结构语句5
5 switch-case条件语句 Java中的第二种分支控制语句时switch语句,switch语句提供了多路支持,因此可以使程序在多个选项中进行选择.尽管一系列嵌套if语句可以执行多路测试,然而 ...
- IT兄弟连 Java语法教程 流程控制语句 分支结构语句4
4 嵌套if-else条件语句 嵌套if语句是作为另一个if或else语句的目标的if语句.嵌套if语句在程序设计中非常普遍.Java中,关于嵌套if语句需要记住的是,else语句总是和同一代码块中 ...
- IT兄弟连 Java语法教程 流程控制语句 分支结构语句2
2 if-else条件语句 if-else语句的完整形式如下: if(判断条件){ A代码块(判断条件的值为true,执行) }else{ B代码块(判断条件的值为false,执行) } 当然,如果 ...
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句1
循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循 ...
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句4
do-while循环 Java还有一种循环是do-while.与for.while这些在循环顶部判断条件表达式的语句不同,do-while是在循环底部进行条件表达式的检查.这意味着do-while循环 ...
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句3
while循环 Java中的另外一种循环是while循环.while循环的语法格式如下: while(条件表达式){ 循环体; } 其中条件表达式定义了控制循环的条件,可以使任何有效的boolean表 ...
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句2
双重for循环 如果把一个循环放在另一个循环体中,那么就可以形成嵌套循环,也就是双重for循环,当然嵌套循环也可以是for循环嵌套while循环,也可以是while循环嵌套while循环……,即各种类 ...
- IT兄弟连 Java语法教程 流程控制语句 控制循环结构1
Java语言没有提供goto语句来控制程序的跳转,这种做法提高了程序流程控制的可读性,但降低了程序流程控制的灵活性.为了弥补这种不足,Java提供了continue和break来控制循环结构.除此之外 ...
随机推荐
- centeros系统之上传下载文件
安装lrzszlrzsz这个软件,可以让我们直接从linux上,下载和上传文件的操作 yum install -y lrzsz11.上传文件通过输入 rz命令,可以弹出上传文件的对话框,然后就可以上传 ...
- 阿里云ECS服务器部署HADOOP集群(五):Pig 安装
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop ...
- Python—定时任务(APScheduler实现)
简介 APScheduler的全称是Advanced Python Scheduler.它是一个轻量级的基于Quartz的 Python 定时任务调度框架.APSche ...
- spring boot 2.2.0开始freemarker模板默认扩展名改为ftlh了
2.2.0这个版本刚发布的时候更新到了这个版本,然后使用freemarker 的webapp运行报错. 查了spring boot的changelog,搜freemarker查到了这条.ftlh,使f ...
- Java之String类
String类概述 java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例.其实就是说:程序当中所有的双引 ...
- java8-CompleableFuture的使用1
背景 硬件的极速发展,多核心CPU司空见惯:分布式的软件架构司空见惯: 功能API大多采用混聚的方式把基础服务的内容链接在一起,方便用户生活. 抛出了两个问题: 如何发挥多核能力: 切分大型任务,让每 ...
- 硬盘容量统计神器WinDirStat
最近遇到C盘快要爆满的问题,我的笔记本是128G SSD + 1t HDD,给C盘分配的空间是80G固态,由于平时疏远管理,造成了C盘臃肿,迁移一些软件,但还是没有太好的解决,这是上知乎发现有大神推荐 ...
- Python:有参装饰器与多个装饰器装饰一个函数
有参装饰器 def timmerout(flag1): #flag1 =flag def timmer(f): def inner(*args,**kwargs): if flag1: start_t ...
- MySQLl存储过程学习总结
1.简介 : 逻辑处理一般不是一条语句组成,需要多条之间相互配合使用 这时,存储过程就是为了以后使用而保存的的一条或多条Mysql语句的集合 2.为何 : 1)简单:将处理单 ...
- MyBatis框架之第二篇
1.高级参数映射和返回值映射(重点) a)Pojo包装pojo的参数映射 b)当结果集列名与pojo属性名不一致的返回值映射 2.动态sql(重点) 3.关联查询结果(重点) a)一对一关联结果 b) ...