05-java方法
方法:
概念:
被命名的代码块,方法可以含参数可以不含参数
可以提高代码的复用性
语法:
方法的修饰符 方法的返回值 方法名([方法的参数列表]){
方法体
}
案例:测试方法的调用
过程图例:
package cn.tedu.method; //这个类用来测试 方法的使用 public class Test1_Method { public static void main(String[] args) { System.out.println(9); print();//2、调用指定的方法 System.out.println(8); } // 1、创建print() // 修饰符 返回值 方法名(参数列表){ 方法体 } public static void print() { System.out.println(1); System.out.println(2); System.out.println(3); } }
案例:测试方法的传参
package cn.tedu.method; //这个类用来测试 方法的传参 //修饰符 返回值 方法名(参数类型 参数名){} public class Test2_Method2 { public static void main(String[] args) { //1、调用方法 add(15) ; method(10,5) ;//3、方法传参时,多个参数之间逗号隔开 function( 10,5,"皮皮霞" ) ; } public static void function( int a , int b , String c ) { //+ 在两个数字之间用来做加法运算 //+ 和字符串做拼接 System.out.println(a+b+c);//15皮皮霞 } //4、创建method方法,参数列表中,需要匹配参数类型 和 参数名 。 public static void method(int a , int b) { System.out.println(a); System.out.println(b); } //2、创建add方法 : 参数5 想要成功被接收到,参数的类型 必须和 5的 数据类型保持一致 public static void add(int a) { System.out.println(a); } }
案例:测试方法的返回值
package cn.tedu.method; import java.util.Random; //这个类用来测试 方法的返回值 public class Test3_Method3 { public static void main(String[] args) { //1、sum记录着add()的返回值 int sum = add(10,5) ; System.out.println(sum);//50 //TODO 5、练习: String str = concat("jack",10,5); System.out.println(str);// jack15 ? jack105 } //6、创建concat() public static String concat(String m , int n , int o){ //7、通过return关键字把结果返回给调用位置。+起的作用就是拼接字符串 return m+n+o ; } //2、创建add(10,5) //3、返回值的类型 和 sum的类型一致 public static int add(int a , int b) { //4、通过return 关键字 把结果返回调用位置 return a*b ; } }
重载(overload):
概念
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表(也就是说参数的个数和类型不同)。
程序调用方法时,可以通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。
意义:为了体现程序的灵活性,方便调用。
案例:测试方法的重载
练习:数字求和
package cn.tedu.overload; //这个类用来测试 方法重载:同名方法,参数列表不同 public class Test4_Overload { public static void main(String[] args) { add(10,5);//自动匹配需要两个int参数的add() add(10,5,"jack");//自动匹配需要两个int参数和一个String参数的add() add("rose",5,10);//自动匹配需要一个String参数和两个int参数的add() } //方法重载override:是指在一个类中的现象。方法名相同但是参数列表不同的现象。是为了提高程序的灵活性 public static void add(String m,int n,int x) { System.out.println(m+n+x);//rose510 } public static void add(int a,int b,String c) { System.out.println(a+b+c);//15jack } public static void add(int m,int n) { System.out.println(m+n);//15 } }
练习:数据的打印
package cn.tedu.overload; //这个类用来测试 方法重载:同名方法,参数列表不同 public class Test5_Overload { public static void main(String[] args) { print('中'); print(9.9); print(10); } //数据打印 int double String char boolean public static void print(int num) { System.out.println(num); } public static void print(double num) { System.out.println(num); } public static void print(String num) { System.out.println(num); } public static void print(char num) { System.out.println(num); } public static void print(boolean num) { System.out.println(num); } }