目录
1.什么是方法
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
注意:
1,方法必须先创建才可以使用,该过程称为方法定义
2,方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用
2.方法的定义和调用
2.1方法定义
格式: public static void 方法名(){
//方法体}
范例: public static void isevenNumber() {
//方法体}
2.2 方法调用
在main方法里面调用
格式: 方法名();
范例: isevenNumber();
2.3方法调用过程
package Java.test;
public class test {
public static void main(String[] args) {
isEvenNumber();
}
//定义一个变量,判断该数据是否是偶数
public static void isEvenNumber() {
int number = 10;
if (number % 2 == 0) {
System.out.println(true);
} else {
System.out.println(false);
}
}
}
3.带参数方法的定义和调用
3.1带参数方法定义
格式: public static void 方法名(参数){……}
格式(单个参数): public static void 方法名 (数据类型 变量名){….…}
范例(单个参数): public static void isEvenNumber( int number) {….}格式(多个参数): public static void 方法名(数据类型 变量名1,数据类型 变量名2,….…){……}
范例(多个参数): public static void getMax( int number1, int number2){……}注意:
1、方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错2、方法定义时,多个参数之间使用逗号(,)分隔
3.2带参数方法调用
格式: 方法名(参数);
格式(单个参数): 方法名(变量名/常量值);
范例(单个参数): isEvenNumber(5);格式(多个参数): 方法名(变量名1/常量值1,变量名2/常量值2);
范例(多个参数): getMax(5,6);注意:
方法调用时,参数的数量与类型必须与方法定义中的设置相四配,否则程序将报错
package Java.test;
public class test {
public static void main(String[] args) {
//常量值的调用
isEvenNumber(10);
//变量的调用
int number = 10;
isEvenNumber(number);
}
//需求:定义一个方法,该方法接收一个参数,判断该数据是否是偶数
public static void isEvenNumber (int number){
if(number%2 == 0) {
System.out.println(true);}
else {
System.out.println(false);}
}
}
3.3形参和实参
形参: 方法定义中的参数
等同于变量定义格式,例如:int number实参: 方法调用中的参数
等同于使用变量或常量,例如:10 number
4.带返回值方法的定义和调用
4.1带返回值方法定义
格式: public static 数据类型 方法名(参数){
return 数据;
}范例1: public static boolean isEvenNumber( int number ) {
return true;}
范例2: public static int getMax( int a, int b ) {
return 100;}
注意:
方法定义时return后面的返回值与方法定义上的数据类型要四配,否则程序将报错
4.2带返回值方法调用
格式1: 方法名(参数);
范例: isEvenNumber(5);格式2: 数据类型 变量名=方法名(参数);
范例: boolean flag=isEvenNumber(5)注意:
方法的返回值通常会使用变量接收,否则该返回值将无意义
5.方法的注意事项
5.1方法注意事项
1、方法不能嵌套定义
2、void表示无返回值,可以省略retun,也可以单独的书写return,后面不加数据
5.2方法的通用格式
格式: public static 返回值类型 方法名(参数){
方法体;
return数据;
}
publicstatic : 修饰符,目前先记住这个格式
返回值类型 : 方法操作完毕之后返回的数据的数据类型 ,如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写 return
方法名 : 调用方法时候使用的标识
参数 : 由数据类型和变量名组成,多个参数之间用逗号隔开
方法体: 完成功能的代码块
return : 如果方法操作完毕,有数据返回,用于把数据返回给调用者
定义方法时,要做到两个明确
明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,
如果没有,写void;
如果有,写对应的数据类型明确参数:主要是明确参数的类型和数量
调用方法时
void类型的方法,直接调用即可
非void类型的方法,推荐用变量接收调用
6.方法重载
6.1方法重载概述
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成电书
1、多个方法在同一个类中
2、多个方法具有相同的方法名
3、 多个方法的参数不相同:类型不同或者数量不同
6.2方法重载特点
重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载
package Java.test;
public class test {
public static void main(String[] args) {
//调用方法
int result = sum(10, 20);
System.out.println(result);
double result2 = sum(10.0,20.0);
System.out.println(result2);
int result3 = sum(10, 20, 30);
System.out.println(result3);
}
//需求1:求两个int类型数据和的方法
public static int sum(int a, int b) {
return a + b;}
//需求2:求两个double类型数据和的方法
public static double sum(double a, double b) {
return a + b;}
//需求3:求三个int类型数据和的方法
public static int sum(int a, int b, int c) {
return a+b+c;}
}
7.方法的参数传递
一、基本数据类型
基本数据类型只有8种,可按照如下分类
①整数类型:long、int、short、byte
②浮点类型:float、double
③字符类型:char
④布尔类型:boolean二、引用数据类型
引用数据类型非常多,大致包括:
类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型
例如,String类型就是引用类型。
简单来说,所有的非基本数据类型都是引用数据类型。
7.1方法参数传递(基本类型)
对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
void类型:
package Java.test;
public class test {
public static void main(String[] args) {
int num=100;
System.out.println("调用函数前:"+num);
change(num);
System.out.println("调用函数后:"+num);
}
public static void change(int num) {
num=200;
}
}
运行结果:
int类型:
package Java.test;
public class test {
public static void main(String[] args) {
int num=100;
System.out.println("调用函数前:"+num);
change(num);
System.out.println("调用函数后:"+num);
}
public static int change(int num) {
return num=200;
}
}
运行结果:
返回参数在主函数中接收:
package Java.test;
public class test {
public static void main(String[] args) {
int num=100;
System.out.println("调用函数前:"+num);
num=change(num);
System.out.println("调用函数后:"+num);
}
public static int change(int num) {
return num=200;
}
}
运行结果:
7.2方法参数传递(引用类型)
对于引用数据类型的参数,形式参数的改变,影响实际参数的值
package Java.test;
public class test {
public static void main(String[] args) {
int[] num={10,20,30};
System.out.println("调用函数前:"+num[1]);
change(num);
System.out.println("调用函数后:"+num[1]);
}
public static void change(int[] num) {
num[1]=200;
}
}
运行结果: