什么是方法——就是完成一段特定功能的代码块。
在生活中,我们常见的一些射击类的游戏,需要经常发射子弹,假设发射子弹需要编写上百行代码,在程序执行到发射子弹这个过程的时候,就要再编写重复的代码。这样写的程序会显得冗余不易维护。为了解决这个问题,我们把发射子弹的这段代码提取出来,放在一个{}中,并为它取一个名字。在上述的过程中,提取出来放在{}中的代码可以看做是定义的一个方法。
很多编程语言里面都有函数的定义,在java中函数即方法。
方法的定义格式:
修饰符 返回值类型 方法名(参数类型1 参数1,参数类型2 参数2.......){
方法体;
return 返回值;
}
方法格式的解释
修饰符 (没有学习过修饰符的同学)只需记住 public static即可
返回值类型 用于限定返回值的数据类型
方法名 一个名字,为了方便我们调用方法(声明时候尽量做到见名知意)
参数类型 用于接收调用方法时传入的数据的类型
参数名 用于接收调用方法时传入的数据的变量
方法体 完成功能的代码(可以理解为上述阐述中发射子弹的代码)
return 结束方法,把返回值带给调用者
注意事项
1.在同一个类中,方法位置在类中main方法外;
2.返回值类型与参数类型必须是同一数据类型
3.在没有返回值的情况下,返回值类型的位置为void
4.写方法的时候有两个明确:
1.有无返回值,无返回值为void
2.明确参数的个数一节参数的类型
举例,写一个求和方法
通过上面的代码我们已经写好了一个求和方法,然而我们的代码现在是无法运行的,因为我们没有调用方法。
关于方法的三种调用形式:
1.单独调用----没有什么意义
2.输出调用----有意义,但是不便于我们用求和结果进行下一步的操作
3.赋值调用----有意义,能够便于我们永远求和结果进行下一步的操作
上面已经阐述了什么是方法、方法的定义格式、注意事项、三种调用,可以尝试用方法写一些求最值、求水仙花数、不死神兔等程序巩固一下。
方法重载的概述和基本使用
什么是方法的重载?
就是在同一个类中,方法名相同,参数列表和参数名不同即为方法的重载。
与方法的返回值类型无关,只看方法名和参数列表。在方法的调用的时候,虚拟机以参数类型和参数名来区分同名的方法。
方法重载特点:
- 方法名相同,参数列表不同。与返回值无关。
- 参数列表不同:
- 参数的个数不同。
- 参数对应的类型不同。
举例:两个同名的方法,参数列表不同。
方法中的参数传递
形式参数:用于接收实际数据的变量
实际参数:实际参与运算的变量
方法的参数是基本类型的时候:
形式参数的改变不影响实际参数。
方法的参数是引用类型:
- 形式参数的改变直接影响实际参数
贴段代码:
public static void main(String[] args) {
// 定义数组
int[] arr = { 1, 2, 3, 4, 5 };
// 遍历数组
for (int x = 0; x < arr.length; x++) {
System.out.println(arr[x]);
}
System.out.println("----------------");
change(arr);
for (int x = 0; x < arr.length; x++) {
System.out.println(arr[x]);
}
}
public static void change(int[] arr) {
for (int x = 0; x < arr.length; x++) {
// 如果元素是偶数,值就变为以前的2倍
if (arr[x] % 2 == 0) {
arr[x] *= 2;
}
}
}
共同学习,写下你的评论
评论加载中...
作者其他优质文章