方法概述:方法是用来实现特定功能的函数,其意义在于可以帮助开发者去除冗余代码,即可省去多次使用到的代码块的重复编写,有了方法可以一次编写多次使用,这样就提高了提高开发效率;如果一个代码块实现了特定功能,并且在程序其他地方会被多次使用到,这时我们就可以定义一个方法,给这个代码块起个名字,然后如果使用到它,咱们通过方法调用就可以一次性编写多次使用这段代码了.
方法:完成某些特定功能代码块,我们把完成某些特定功能的一堆代码,放在一个方法中,当我们想用这个功能的时候,调用这个方法即可;
举两个栗子:
工厂:
生产钢铁工厂:
原料:铁矿石(方法的参数),方法需要的东西
产出物:钢铁(方法的返回值),方法给你的东西
生产牛奶的工厂:
原料:奶牛(方法的参数),方法需要的东西
产出物:牛奶(方法的返回值),方法给你的东西
方法的定义格式:
修饰符 返回值类型 方法名(参数列表){
方法体;(完成某些特定功能的一堆代码)
return 返回值;
}
方法的定义格式解释说明:
a.修饰符:固定写法,public(公共) static(静态)
b.返回值类型:用来限定方法返回值的类型
返回值类型就是数据类型,可以是基本数据类型(4类8种),也可以是引用数据类型(类,接口,数组,集合)
返回值类型是int类型,方法的返回值只能是整数
返回值类型是double类型,方法的返回值只能是小数
返回值类型是String类型,方法的返回值只能是字符串
返回值类型是int[]类型,方法的返回值只能是整数数组
c.方法名:就是给方法起一个名字,方便我们调用方法的时候使用;
命名规则:小驼峰式命名和变量一样;第一个单词首字母小写,其他单词首字母大写 maxAge
d.方法体:完成某些特定功能的一堆代码
e.return:
1.方法的返回值类型是void,当我们不需要定义的方法提供一个返回值时使用的返回值类型,此时return的作用就是结束方法,可以省略不写,由jvm补全
2.方法的返回值类型不是void,return的作用有两个,一个是把值返回给方法的调用处,二是结束方法
f:返回值:方法实际返回的值
g:参数列表:方法完成特定功能需要的东西
格式:数据类型 变量名,数据类型 变量名....
数据类型:用来接收调用方法,传递数据的类型
变量名:用来接收方法实际传递过来的值(参数)
方法的注意事项:
1.方法定义完之后,不调用,没有意义,不会自己执行;
2.方法的执行先后顺序和定义的先后顺序无关,和调用的顺序有关;
3.所有的方法都是同级的关系(包括main方法), 不能把一个方法定义在另外一个方法中,即方法不可以嵌套定义,方法定义在前后都是一样的;
4.方法的定义在写类中,其他方法的外边;
方法定义必须明确三要素:
返回值类型:
方法名:
参数列表:
有明确返回值的方法使用:
1.单独调用:没有意义,没有对返回值进行操作
格式:
方法名(参数);
2.输出调用:调用方法,把方法的返回值,直接输出
格式:
System.out.println(方法名(参数));
返回值,只能使用一次 ;
3.赋值调用:把方法的返回值,赋值给一个变量
格式:
方法返回值的数据类型 变量名 = 方法名(参数);
这个变量就可以重复使用;
void修饰作为返回值的方法:返回值类型是void的方法
格式:
修饰符 void 方法名(参数){
方法体;
return;//作用:结束方法,可以省略不写,由JVM在运行时补充
}
使用方式:
直接使用直接调用, 不能使用输出和赋值调用,因为没有返回值
格式:
方法名(参数);
一般void修饰的方法有:打印的方法,遍历数组/集合的方法
方法重载:
在一个类中,出现了方法名相同,但是参数列表不同的方法,叫方法重载
参数列表不同:
1.参数个数不同
2.数据类型不同
3.数据类型的顺序不同
注意:
方法重载与返回值类型无关,只看参数列表
方法重载与方法重载与参数的变量名无关,只看参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
参数传递:值传递
方法定义的时,参数没有值;调用方法的时候给参数传递实际使用的值,叫参数传递
形式参数:定义方法时定义的变量
实际参数:调用方法时实际传递的值
基本类型(包含String)作为参数传递:
形式参数改变不影响实际参数的值;
引用数据类型(不包含String类型)在参数传递的时候: 传递的是地址值,即址传递;
形式参数改变,影响实际参数的值
引用数据类型:数组,类,集合;