学习视频:https://www.bilibili.com/video/BV18J411W7cE?p=83
带参数方法的定义和调用
定义:
格式:
public static void 方法名 (参数){... ...}
eg:
//单个参数
public static void 方法名 (数据类型 变量名) {... ...}
public static void isEventNumber (int number) {... ...}
//多个参数
public static void 方法名 (数据类型1 变量名1,数据类型2 变量名2) {... ...}
public static void isEventNumber (int number1,int number2) {... ...}
调用:
格式:
方法名 (参数);
eg:
//单个参数
//方法名(变量名/常量值);
isEventNumber(5);
//多个参数
//方法名(变量名1/常量值1,变量名2/常量值2);
max(5,6);
传入参数数量和类型不匹配会报错。
形参和实参
形参:方法定义中的参数 eg: int number
实参:方法调用中的参数 eg: number 10
带参数方法练习:
打印一个数组中最大值:
package javacode;
public class max {
public static void main(String[] args) {
int[] arr = {165,178,165,173,180,167,175};
max(arr);
}
public static void max (int[] arr) {
int max = arr[0];
for(int i = 0; i < arr.length ; i++){
if(max < arr[i])
max = arr[i];
}
System.out.println(max);
}
}
带返回值方法的定义和使用:
定义:
格式:
//格式
public static 数据类型 方法名(参数){
return 数据;
}
// eg:
public static int getMax (int a,int b){
int max = a>b ? a : b ;
return max;
}
返回值需要由变量接收
返回两个整数中较大者:
package javacode;
//获得两数中较大者
public class getMax {
public static void main(String[] args) {
int a = getMax1(5,6);
System.out.println(a);
}
public static int getMax1 (int a,int b) {
int max ;
max = a>b ? a : b ;
//System.out.println(max);
return max;
}
}
方法的注意事项:
1、方法不能嵌套定义
2、void表示空,看省略return ,可写return后不接数据
方法格式:
public static 数据类型 方法名 (参数) {
方法体;
return 数据;
}
方法重载:
指同一个类中定义的多个方法之间的关系,满足以下条件的多个方法互相构成重载
1、多个方法在一个类中
2、多个方法具有相同的方法名
3、多个方法参数不同,类型不同或数量不同
特点:
1、重载仅对应方法定义,与方法调用无关,调用方式按标准格式
2、重载争对同一类中方法的名称与参数进行识别,与返回值无关,无法通过返回值判定量个方法是否重载。
package javacode;
public class chongzai {
public static void main(String[] args) {
int a = sum (5,6);
System.out.println(a);
}
public static int sum (int a , int b) {
return a + b ;
}
public static double sum (double a , double b) {
return a + b ;
}
public static int sum (int a , int b,int c) {
return a + b + c ;
}
}
调用时Java虚拟机根据参数不同区分同名方法
方法的参数传递:
对于基本数据类型的参数,形式参数的改变,不影响实际参数的值。
change方法中的number变为200,不影响main中number的值。
对于引用类型的参数,形式参数的改变,会影响实际值。