Java笔记02-自定义方法
1.方法的概念
-
方法指的是一段可以反复调用的代码块。
-
有些独特的功能需要我们自己定义,我们把这些功能写到一个代码块中,变成一个方法,以便于之后使用方法名直接调用,不用再重写此功能的所有代码。
-
语法结构:
修饰符 方法返回值类型 方法名(参数类型 参数名,....){ 执行的代码块; }
例如:
public static void main(String[] args){ // 需要执行的代码块 }
-
使用举例
public static void main(String[] args) { // 调用方法 // maxnum(1, 2, 3); maxnum(56, 3, 3); } // 自定义方法求三个整数中的最大值 public static void maxnum(int x, int y, int z) { // 先比较其中的两个值 if (x > y) { // 若x>y,则比较x与z,其中较大的为三数最大值 if (x > z) { System.out.println("最大值为:" + x); } else { System.out.println("最大值为:" + z); } } else { // 若x<y,则比较y与z,其中较大的为三数最大值 if (y > z) { System.out.println("最大值为:" + y); } else { System.out.println("最大值为:" + z); } } }
-
2.方法的参数
-
方法的参数可以有无限个,需要根据情况来定。
-
注意点:
- 同一个类中方法名不允许一样,如果想要一样就需要符合方法重载的规则。
- 在调用方法传值时,参数的类型和位置要和方法中定义的参数类型和位置一样。
-
方法的参数分为形参和实参。
-
形参:形式参数,指的就是方法中定义的参数,没有实际意义,作用就是告诉使用者想要使用该功能需要给定参数的类型及数量。
-
实参:实际参数,指的就是调用方法时,使用者传递给方法的实际的数据值,实参必须符合形参定义的类型、位置及数量。
-
参数类型可以转换,小类型转大类型可以,但是大类型转小类型就需要强制类型转换,否则编译失败。
-
3.方法的返回值
-
返回值关键词:return(返回) void(无返回值类型)
-
需要返回值的原因:当需要对方法中的结果进行二次处理的时候就需要返回值。
-
return作用:1、返回结果。2、结束方法(函数)。
- 当只写return,不写返回结果时,作用就是结束当前方法,之后的代码不再运行,且方法定义的返回值类型应该写void。
-
返回值类型应在定义方法时定义好,若定义有返回值类型,则必须有符合定义类型的返回值,否则编译会报错。
public static void main(String[] args) { //调用方法并输出 //输出时可定义一个变量接收返回值 String result= grade(1); System.out.println(result); //也可直接写到输出函数中 System.out.println(grade(1)); } /** * 需求:输入数字,得出受教育程度 学历 * @param x * 类型:int * @return * 类型:String */ public static String grade(int x) { switch(x) { case 1: return "小学"; case 2: return "初中"; case 3: return "高中"; case 4: return "高中"; case 5: return "大学"; case 6: return "硕士"; case 7: return "博士"; case 8: return "教授"; default: return "无"; } }
4.方法的重载
-
定义:同一个类中,方法名相同,参数列表不同(参数数量不同,参数位置不同,参数类型不同),且与返回值类型无关。
-
重载的方法可能有相同的功能特性,但是实现方法可能不同。
public static void main(String[] args) { // 方法的重载 // 同一个类中,方法名相同,参数列表不同(参数数量不同,参数位置不同,参数类型不同),且与返回值类型无关。 intro(); intro("bob",23); intro(23,"bob"); intro("bob",23,180); intro("bob",23,180L); } /** * 测试方法重载 */ public static void intro() { System.out.println("请输入信息。"); } public static void intro(String name,int age) { System.out.println("姓名:"+name+" 年龄:"+age); } public static void intro(int age,String name) { System.out.println("姓名:"+name+" 年龄:"+age); } public static void intro(String name,int age,int height) { System.out.println("姓名:"+name+" 年龄:"+age+" 身高:"+height); } public static void intro(String name,int age,long height) { System.out.println("姓名:"+name+" 年龄:"+age+" 身高:"+height); }
输出:
请输入信息。 姓名:bob 年龄:23 姓名:bob 年龄:23 姓名:bob 年龄:23 身高:180 姓名:bob 年龄:23 身高:180