循环结构、方法、递归

一、循环结构

(一)概述

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.递归自己调用自己不能超过一定的次数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值