Java编程基础——流程控制
Java编程基础——流程控制
摘要:本文主要介绍Java编程中的流程控制语句。
分类
流程控制指的是在程序运行的过程中控制程序运行走向的方式。主要分为以下三种:
顺序结构:从上到下依次执行每条语句操作。
分支结构:根据条件判断执行哪些语句操作。
循环结构:根据循环初始条件和终结要求,执行循环体内的操作。
分支结构
Java提供两种分支结构:if和switch。其中if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,而switch语句则是使用整数,String类型,枚举类型。
分支的各种情况要满足不重复,不遗漏的原则。即:相互独立,完全穷尽(MECE,Mutually Exclusive Collectively Exhaustive)。
if分支结构
if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,主要有三种结构。
if 语句
语法:
 if ( 条件 ) {
     语句;
 }
执行:
如果条件成立,执行大括号中的语句,如果条件不成立,跳过大括号,执行后面的语句。
举例:
判断一个数字是否是正数。
int i = 1;
if (i > 0) {
System.out.println(i + "是正数!");
}
if … else 语句
语法:
 if ( 条件 ) {
     语句;
 } else {
     语句;
 }
执行:
如果条件成立,执行大括号中的语句,如果条件不成立,执行else后面大括号中的语句。
举例:
判断成绩是否及格。
int i = 58;
if (i >= 60) {
System.out.println("成绩及格了!");
} else {
System.out.println("成绩不及格!");
}
if … else if … else 语句
语法:
 if ( 条件 ) {
     语句;
 } else if ( 条件 ) {
     语句;
 } else {
     语句;
 }
执行:
如果第一个条件成立,执行第一个条件后面大括号里的语句,如果第一个条件不成立,判断下一个条件,依次类推,如果所有条件都不成立,执行else中的语句。
举例:
判断成绩级别。
int i = 78;
if (i == 100) {
System.out.println("满分!");
} else if (i >= 90) {
System.out.println("优秀!");
} else if (i >= 80) {
System.out.println("良好!");
} else if (i >= 60) {
System.out.println("及格!");
} else {
System.out.println("不及格!");
}
switch分支结构
语法:
 switch ( 表达式 ) {
 case 常量:
     语句;
     break;
 case 常量:
     语句;
     break;
 default:
     语句;
     break;
 }
执行:
拿着变量或表达式得到的值,去和各个case后面常量的值做判断,看是否匹配,如果有一个匹配的,则执行当前常量后面的语句,遇见break则不再执行,如果没有遇见,则一直顺序往下执行。
如果没有匹配的,则执行default后面的语句。
举例:
判断性别。
int sex = 1;
switch (sex) {
case 1:
System.out.println("性别男!");
break;
case 2:
System.out.println("性别女!");
break;
default:
System.out.println("无性别!");
break;
}
注意:
case后的常量值不可以重复。
default可以省略,而且default位置也可以提到前面,只是不建议。
break可以省略。
switch只能做等值判断。
if结构和switch结构的对比
相同点:
都可以实现分支结构。
不同点:
能用switch解决的题目肯定能用if解决;但能用if解决的题目不一定可以用switch解决。
只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断。
switch结构的效率比if结构的效率高。
循环结构
循环语句也称作迭代语句,循环语句可以在满足条件的情况下反复执行某一段代码。
while循环结构
语法:
 while ( 条件 ) {
     语句;
 }
执行:
先判断条件是否满足,如果不满足则跳出循环,如果满足则执行语句,然后再次判断,直到条件不满足或跳出循环。
举例:
循环打印从0到10的数字。
int i = 0;
while (i <= 10) {
System.out.println(i);
i++;
}
do-while循环结构
语法:
 do {
     语句;
 } while ( 条件 );
执行:
先执行一次语句,然后判断条件是否满足,如果不满足则跳出循环,如果满足则执行循环语句,直到条件不满足或跳出循环。
举例:
循环打印从0到10的数字。
int i = 0;
do {
System.out.println(i);
i++;
} while (i <= 10);
for循环结构
语法:
 for ( 初始化表达式 ; 条件 ; 变量更新 ) {
     语句;
 }
执行:
先执行一次初始化表达式,然后判断条件,如果不满足则跳出循环,如果满足则执行语句,然后执行变量更新。再判断条件是否满足,不满足则跳出,满足则执行语句和变量更新,直到条件不满足或跳出循环。
举例:
循环打印从0到10的数字。
 for (int i = 0; i <= 10; i++) {
     System.out.println(i);
 }
注意事项:
◆ 两个分号必不可少。
◆ 三个表达式可以不写,但有可能造成死循环。
◆ 表达式1可以有多个变量初始化,要用逗号隔开。
◆ 表达式3可以有多个变量更新,要用逗号隔开。
三种循环结构对比
相同点:
都具备循环的四要素:循环变量初始化,循环条件,循环操作(循环体),循环变量更新(迭代)。
不同点:
语法不同。
执行顺序不同,while循环和for循环都是先判断后执行,do-while是先执行后判断。
执行效率不同,do-while的执行效率最高。
跳转结构
跳转语句用于实现循环执行过程中程序流程的跳转。
break语句
在switch条件语句和循环语句中都可以使用break语句。
当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。
当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。
举例:
循环打印从0到10的数字,要求当要打印6时停止循环。
 for (int i = 0; i <= 10; i++) {
     if (i == 6) {
         break;
     }
     System.out.println(i);
 }
结果:
0
1
2
3
4
5
当条件判断i为6时,循环终止,不再打印6和之后的数字。
continue语句
只能用在循环语句中,它的作用是跳过本次循环,执行下一次循环。
举例:
循环打印从0到10的数字,要求当要打印6时跳过循环,即不要打印6。
 for (int i = 0; i <= 10; i++) {
     if (i == 6) {
         continue;
     }
     System.out.println(i);
 }
结果:
0
1
2
3
4
5
7
8
9
10
当条件判断i为6时,循环跳过,不再打印6,继续打印之后的数字。
return语句
用于跳出方法。
Java编程基础——流程控制的更多相关文章
- Java中的流程控制(一)
		
程序的流程控制(一) 关于Java程序的流程控制(一) 从结构化程序设计角度出发,程序有三种结构: 顺序结构 选择结构 循环结构 1.顺序结构 就是程序从上到下一行行执行,中间没有判断和跳转. 2.i ...
 - 第2章 Java编程基础
		
本章重点 ·Java的基本语法形式 ·Java语言中的常量与变量 ·Java语言运算符的使用 ·Java程序的流程控制 ·Java中方法的定义与使用 ·Java中数组的定义与使用 2.1 Java的基 ...
 - Java编程基础——数组和二维数组
		
Java编程基础——数组和二维数组 摘要:本文主要对数组和二维数组进行简要介绍. 数组 定义 数组可以理解成保存一组数的容器,而变量可以理解为保存一个数的容器. 数组是一种引用类型,用于保存一组相同类 ...
 - Java编程基础——标识符和关键字
		
Java编程基础——标识符和关键字 摘要:本文主要介绍标识符和关键字. 标识符 是什么 Java语言中,为各种变量.方法.类和包等起的名字,统统称之为Java标识符. 命名规则 ◆ 应以字母.下划线. ...
 - Java中的流程控制(三)
		
关于Java中的流程控制 关于Java中的流程控制 4.do while语句 do while语句的功能和while语句差不多,只不过它是在执行完第一次循环后才检测条件表达式的值,这意味着包含在大括号 ...
 - Java中的流程控制(二)
		
关于Java程序的流程控制(二) 关于Java程序的流程控制(二) 3.switch选择语句 switch语句用于将一个表达式的值同许多其他值比较,并按比较结果选择下面该执行哪些语句. switch( ...
 - Java入门——(1)Java编程基础
		
Java入门--(1)Java编程基础 第二章 Java编程基础 JAVA 代码的基本格式: 修饰符 class 类名{ 程序代码 } 2.1关键字:赋予了特殊含义的单词. 2.2标识符: ...
 - Java开发知识之Java编程基础
		
Java开发知识之Java编程基础 一丶Java的基础语法 每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外. Java程序的语法规范就是 Ja ...
 - Java 基本语法---流程控制
		
Java 基本语法---流程控制 0. 概述 三大流程控制语句:顺序.选择.循环. 选择结构: if 结构,if - else结构: 多重 if - else 语句 ; 嵌套 if - else 语句 ...
 
随机推荐
- 多线程学习二:线程池 ExecutorService
			
创建线程池的2种方式: 使用线程池方式1--Runnable接口: 通常,线程池都是通过线程池工厂创建,再调用线程池中的方法获取线程,再通过线程去执行任务方法. Executors:线程池创建工厂类: ...
 - JS基础语法---数组
			
数组: 一组有序的数据 数组的作用: 可以一次性存储多个数据 数组的定义: 1. 通过构造函数创建数组 语法: var 数组名=new Array(); var array=new Array() ...
 - async/await简单使用
			
function process(i) { var p = new Promise(function(resolve,reject){ setTimeout(function(){ console.l ...
 - GBT22239-2008-等保1.0三级要求
			
第三级基本要求 7.1 技术要求 7.1.1 物理安全 7.1.1.1 物理位置的选择(G3) 本项要求包括: a) 机房和办公场地应选择在具有防震.防风和防雨等能力的建筑内: b) 机房场地 ...
 - 使用百度的webuploader进行附件上传
			
相较于之前使用的上传空间的优点:支持html5,不用再安装flash插件,没有大小限制,分片以后上传,上传以后再进行合并. 前端js代码 <script type="text/java ...
 - centos7中python3.6报错ModuleNotFoundError: No module named '_ssl'  或者 Max retries exceeded with url: / (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",))
			
如果在运行爬虫时报此错:requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max r ...
 - mysql里面alter的用法
			
1:删除列 ALTER TABLE [表名字] DROP [列名称] 2:增加列 ALTER TABLE [表名字] ADD [列名称] INT NOT NULL COMMENT '注释说明' 3: ...
 - Linxu:磁盘分区
			
了解磁盘分区 磁盘的物理组成: 圆形的磁盘盘(主要记录数据的部分): 机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据): 主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据. ...
 - Jmeter通过正则表达式获取登录后token
			
1.引用名称:即参数化,便于后面调用登录后获取的token 2.正则表达式:"token":"([0-9 a-z -]+?)" 3.模板:设置为 "$ ...
 - day2_窗口句柄切换
			
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/7/16 14:21 # @Author : 大坏男孩 # @File : d ...