JAVA笔记15(程序控制结构)

2024-03-10 18:52

本文主要是介绍JAVA笔记15(程序控制结构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.程序控制结构

1.1 顺序控制

​ *介绍:程序从上到下逐行地执行,中间没有任何判断和跳转

1.2 分支控制

​ *分支控制If - else

1.单分支

​ *基本语法:

		if(条件表达式){​			语句;}

​ 条件表达式为true时,会执行下面语句

在这里插入图片描述

2.双分支

​ *基本语法:

	if(条件表达式){​		执行代码块1;}else{​		执行代码块2;}

​ 条件表达式为true执行1,否则执行代码块2

在这里插入图片描述

3.多分支

​ *基本语法:

	if(条件表达式){​		执行代码块1;}else if(条件表达式2){​		代码块2;}....else{​		代码块n;}

​ *特别说明:

​ 1.可以没有else,如果所有条件表达式都不成立,则一个执行入口都没有。

​ 2.如果有else,所有条件表达式都不成立,则执行else

4.嵌套分支

​ *在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构成为内层分支,外面的分支结构称为外层分支

​ *基本语法:

	if(){if(){//if-else...}else{//if-else}}

5.switch分支结构

​ *基本语法:

	switch(表达式){case 常量1:		//当表达式的值等于常量1,就执行语句块1​			语句块1;break;		//跳出switch结构case 常量2:​			语句块2;break;...case 常量n:​			语句块n;break;default:		//如果一个都没有匹配上,执行defaultdefault语句块;break;} 

​ *注意事项:

​ 1.表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是int

​ 2.switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)

​ 3.case子句中的值必须是常量或者常量表达式,而不能是变量

​ 4.default子句是可选的,当没有匹配的case时,执行default

​ 5.如果没有default子句,也没有匹配任何常量,则没有输出

​ 6.break用于执行完一个块之后跳出switch,如果没有写break,程序会顺序执行到switch结尾,除非遇到了break

1.3 循环控制

1.for循环控制

​ *基本语法:

	for(循环变量初始化;循环条件;循环变量迭代){​		循环操作(可以多条语句);}

​ *for关键字,表示循环控制

​ *for循环四要素:

​ 1.循环变量初始化

​ 2.循环条件

​ 3.循环操作

​ 4.循环变量迭代

​ *注意事项:

​ 1.循环条件是返回一个布尔值的表达式

​ 2.for(;循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略

​ 3.循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开

2.while循环

​ *基本语法:

while (循环条件){循环体(语句);循环变量迭代;
}

​ *注意事项:

​ 1.循环条件是返回一个布尔值的表达式

​ 2.while循环是先判断再执行语句

3.do…while循环控制

​ *基本语法:

do{循环体(语句);循环变量迭代;
}while(循环条件);

​ *注意事项:

​ 1.先执行,再判断,一定会至少执行一次

​ 2.最后有一个分号 “ ; ”

4.多重循环控制

​ *介绍:

​ 1.将一个循环放在另一个循环体内,形成嵌套循环。

​ 2.实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

​ 3.设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次

for( int i = 1; i <= 7; i++)	//第一层循环7次
{for(int j = 1; j <= 2; j++)		//第二层循环2次{System.out.println("OK");}
}

​ *例题请看16.多重循环控制例题—打印金字塔

1.4 跳转控制

1.break–跳转控制语句

​ *当某个条件满足时,终止循环

​ *实例可看switch语句里面的跳转

​ *break语句用于终止某个语句块的执行,一般使用在switch或者循环[ for , while , do-while]中

​ *基本语法:

{.....break;.....
}

在这里插入图片描述

​ *实例:

for(int i =1; i <=10 ; i++)
{if(i==3){break;	//直接提前结束循环}System.out.println("Ok" + i);
}

​ *注意事项和细节说明:
1.break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

2.标签的基本使用:

label1:{	...
label2(abc):		{	...
label3:				{	...break label2;	//如果没有label2就退出到label3,终止处于label标签下的函数循环体...}}	}//1.break语句可以指定退出哪层
//2.label1是标签,由程序员指定
//3.break后指定到哪个label就退出到哪里
//4.在实际的开发中,尽量不要使用标签
//5.如果没有指定break标签,默认退出最近的循环体

2.continue–跳转控制语句

​ *基本介绍:

1.continue语句用于结束本次循环,继续执行下一次循环

2.continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和break语句标签的使用规则一样

​ *基本语法:

{.....continue;.....
}

在这里插入图片描述

​ *使用细节:

label1:{	...
label2(abc):		{	...
label3:				{	...continue label2;	//如果没有label2就退出到label3,终止处于label标签下的函数循环体...}}	}//1.continue语句可以指定退出哪层
//2.label1是标签,由程序员指定
//3.continue后指定到哪个label就退出到哪里
//4.在实际的开发中,尽量不要使用标签
//5.如果没有指定continue标签,默认退出最近的循环体

3.return–跳转控制语句

​ *介绍:

1.return使用在方法,表示跳出所在的方法

2.注意:如果return 写在main方法,就会退出程序

这篇关于JAVA笔记15(程序控制结构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795193

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis