Day05 方法 return 方法的重载 递归 数组

一 方法

方法:具有某些功能的代码块

1.方法的作用:

封装内部的实现细节,提高代码的复用性

2.方法的注意事项:

(1)方法要定义在类中,方法外,方法不能嵌套

(2)方法不调用不执行

 

3.语法:

(1)方法体的组成

修饰符 返回值类型 方法名([参数列表]){

方法体语句;

return 返回值;

}

a.修饰符

访问权限修饰符,能访问的范围,现在默认public static

b.返回值类型

方法运算完成后,结果的数据类型,与return后面的返回值类型对应

基本数据类型|引用数据类型

c.方法名

调用方法的时候需要使用方法名调用

遵循标识符的命名规则|规范 第一个单词小写,第二个单词开始每个单词首字母大写

d.()->参数列表  

可有可无的参数列表

参数列表中可以有多个参数

在方法执行过程中,有没有未知的数据,如果有,定义在参数列表中

参数列表:数据类型 变量名,数据类型 变量名 ....

参数:相当于一个局部变量的声明

e.{}->

具体功能的代码块

f.return

提前结束方法 ,带出返回值

如果是一个有返回值类型的方法,必须存在return,return后面必须带有返回值

(2)有返回值类型的方法

(3)没有返回值类型的方法

修饰符 void 方法名([参数列表]){

方法体语句;

return;

}

void:没有返回值的意思

return:提前结束方法

(4)方法的调用

执行方法中的代码  方法名([参数列表]);  

1.赋值调用

数据类型 变量名 = 方法名(参数列表);

2.输出调用

System.out.println(方法名(参数列表));

3.直接调用

方法名([参数列表]);

 

(5)有返回值类型的方法

(6)参数:

形式参数:定义方法时候()中的参数

实际参数:调用方法的时候()中的参数值

形参和实参之间要一一对应(数据类型 顺序 个数)

有形参就必须有实参

形参的数据类型大于或等于实参的数据类型

二 return

1.作用

return使用在有返回值类型的方法中:--必须存在return

带出返回值

结束方法

使用在没有返回值类型的方法中:结束方法 --可以存在可以不存在

return后面的代码不会执行

2.不可达语句

永远无法访问的语句

一定会遇到不可达语句的几种情况:

1.return后面

2.死循环后面

3.一定会执行的break后面

4.一定会执行的continue后面

5.while(false)中的语句

在一个方法中连续出现的return只能有一个

兼容类型

形参的数据类型>=实参的数据类型

接受类型>=返回值类型>=return后返回数据的类型

三 方法的重载Overload重写

1.方法签名

在同一个类中,多个方法有相同的方法名字,不同的参数列表(方法签名不同 :方法签名是方法的唯一标识 方法签名=方法名+参数列表)

2.方法重载的要求:

同一类中

多个方法相同的方法名

不同的参数列表

参数数据类型不同

参数的个数不同

参数的顺序不同(不同数据类型的顺序不同)

 

方法的重载和参数的名字无关

方法的重载和有没有返回值无关

方法的重载和返回值类型无关

方法的重载和修饰符无关

 

方法重载只和方法名还有参数列表相关

 

重载方法的调用只和方法调用时候的实参决定

方法是一个类中封装的一种体现

方法的重载就是一个类中多态的一种体现

四 方法递归

递归:自己调用自己

递归头:停止自己调用自己条件

递归体:自己调用自己

 

临界条件:递归头

递归前进段:没有满足临界条件时,自己调用自己

递归后退段:满足临界条件以后,把结果返回给上一层

五 数组

相同数据类型的有序集合

变量:存储单个数据

数组:存储多个数据

基本数据类型和引用数据类型都可以放

1.数组的特点:

1.数组是引用数据类型

2.数组是一个集合,长度一旦确定不可改变

3.数组中数据的数据类型相同

4.数组是有序的  索引:从0开始,不会重复

2.数组的定义:

(1)数组的声明:

数据类型 数组名[];

数据类型[] 数组名; --推荐

(2)数组的动态初始化:

创建数组并指定长度

数据类型[] 数组名 = new 数据类型[长度];

(3)数组中的数据没有赋值存在默认值

整数  0

小数  0.0

boolean false

字符串  null

char ' '空格字符

(4)数组的静态初始化

(根据值确定数组的长度,一旦确定无法改变)

数据类型[] 数组名 =new 数据类型[]{值1,值2,值3...};

数据类型[] 数组名 ={值1,值2,值3...};  //推荐使用

3.数组的使用:

(1)根据索引操作数组:

获取值|赋值

数组名[索引]

数组中的索引从0开始,不会重复

根据索引操作数组效率高

(2)长度length属性

数组名.length

数组中最后一个数据的索引:  数组名[数组名.length-1]

4.数组的遍历:

(1)普通for循环

遍历的是索引,根据索引在数组中获取数据

(2)增强for循环,for..each

for(数据类型 变量名:数组名字){

变量就是数组中的每一个数据

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值