一、循环结构
(一)概述
1、循环语句:某些代码需要被执行很多遍,我们可以通过循环语句让一句代码反复执行
2、实现语句: (1)for循环 (2)while循环 (3)do...while循环
(二)for循环
1、定义格式
for(初始化语句; 逻辑表达式; 步进表达式) { 循环语句体; }
2、说明
(1)初始化语句:是一个变量,也叫作初始化变量,有且仅有一次执行机会,并在最开始执行
(2)逻辑表达式:结果必须位布尔值,为false循环直接结束,为true执行后续代码
(3)步进表达式:是对初始化变量的一个改变操作
(三)while循环
1、while,关键字。用于声明定义while循环的
2、格式
初始化变量; while(逻辑表达式) { 循环语句体; 步进表达式; }
3、注意
(1)不要忘记书写步进表达式
(2)while小括号中的是布尔类型的值
(四)for和while区别
1、for循环的初始化语句在for循环中,出了for循环以外不能使用,但是for循环完了之后初始化语句就会被当作垃圾进行处理;while循环初始化语句在外面,后面如果需要使用就采用while循环
2、for循环已知循环次数,循环次数未知使用while循环
(五)do...while循环
1、do:关键字;用于声明定义do...while循环
2、定义格式
初始化变量; do { 循环语句体; 步进表达式; } while(逻辑表达式);
3、注意事项
for循环和while循环有可能一次都不执行,如果至少执行一次就是用do...while循环
(六)跳转语句
1、概述:在循环中,可以结束循环、来控制循环语句
2、分类:
(1)continue语句:跳出本次循环。下一次循环继续
(2)break语句:结束当前层次的循环
(3)return语句:结束所在方法
(4)System.exit(0);语句:关停虚拟机
(七)死循环
1、概述:无限循环,循环永不停止
2、定义格式
for(;;) { 循环语句体; }
while(true) { 循环语句体; }
3、使用场景
(1)在服务器的设计中,我们希望服务器永远运行下去,就需要使用死循环
(2)在格式上是死循环,在循环语句体的逻辑上如果达成了某种条件,就会使用某些手段让死循环发生跳转或者停止
(八)嵌套循环
1、概述:在一次大的循环中,每一次循环的内容又是一个循环
2、定义格式
for(初始化变量1; 逻辑表达式1; 步进表达式1) { 【语句体;】
for(初始化变量2; 逻辑表达式2; 步进表达式2) { 循环语句体; } 【语句体;】 }
二、方法
(一)概述
1.具有某些特定功能的代码块
2.将一段具有特定功能的代码块,使用大括号包围起来,起一个名字,加上一些权限和修饰,就是方法;以后使用这一段代码,只需要书写方法的名称即可
3.好处:
(1)提高了代码的复用性
(2)提高了代码的封装性,大括号中的内容外界无法访问,保证了数据的安全性
(3)简化了代码设计难度
(二)方法的定义
1.定义格式
修饰符 返回值类型 方法名称(参数列表){
方法体;
return 语句;
}
2.说明
(1)修饰符:刚开始建议全部写成public static
(2)返回值类型:方法其实表示的是一段功能,既然是功能,执行结束后就有可能产生结果,也有可能什么都不产生,当产生的结果肯定是一个数据,既然是数据那么就有对应的数据类型,返回值类型是什么就写成什么类型即可,当然,前提是产生的结果需要返回需要使用return语句返回,返回值类型写成对应的类型,如果方法的返回值不需要返回,或者没有任何结果,返回值类型就可以写成void,含义:无返回值
(3)方法名称:合法标识符即可,小驼峰原则
(4)参数列表:方法再执行的时候,可能需要一些数据,就在参数列表上写出需要的数据,由外界将这些数据传入
(5)方法体:具体的业务逻辑
(6)return语句:结束方法并且将结果返回给调用者
(三)方法的调用
1、分类
(1)直接调用:直接书写方法名称调用方法即可,让方法执行
(2)输出调用:调用有返回值的方法,将具体返回的结果进行输出
(3)赋值调用:调用有返回值的方法,将返回值赋值给对应数据类型的变量,做后续处理
2、形式参数:简称形参;方法用于向外界声明,执行功能的时候,需要几个哪些类型的数据
3、实际参数:简称实参;方法真正被调用的时候,传递给方法的实实在在的数据
4、在传递数据的时候,形参对应的实参的个数、类型、顺序必须完全一致
(四)注意事项
1、方法的定义:
(1)方法不能嵌套定义
(2)方法与方法之间的关系都是平行的
(3)方法定义的先后没有任何区别,方法执行的先后只取决于方法的调用
(4)方法可以嵌套调用,方法自己调用自己【递归】
2.方法的参数列表
(1)形参:可有可无
(2)实参:对应形参,可有可无
3.return语句
(1)return语句表示结束方法,并且还能够将方法产出的结果返回给调用者
(2)如果方法没有返回值,也可以使用return;但是没有任何意义,只是表示结束方法,和右大括号的作用一样
(五)方法的重载
1.重载:Overload,超载
2.方法的重载:再同一个类中,方法名称相同,参数列表不同,与返回值类型无关。
3.注意
(1)在重载中所有的方法必须要在同一个类中
(2)在重载中,所有的方法都具有一个名字
(3)参数列表不同:参数的个数不同,类型不同,顺序不同
4.重载的好处
对于具有相同功能的代码、相同逻辑但是参数列表不同的方法,使用同一个方法名字,可以有效地
表示这一类方法,调用方法的时候,传入不同的参数就会直接匹配到相应的方法
三、递归
1.方法自己调用自己,a调用b,b调用c,c调用a
2.递归必须有终止条件
3.递归自己调用自己不能超过一定的次数