什么是方法
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
注意:
- 方法必须先创建后使用,该过程成为方法的定义
- 方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法的调用
方法的定义和调用
1. 方法定义
- 格式:
public static void 方法名(){
//方法体
}
2. 方法调用:
- 格式:
方法名();
注意:方法必须先定义后调用,否则程序将报错
例如:
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);
}
}
public static void main(String[] args) {
// 方法的调用
isEvenNumber();
}
- 方法练习
需求:设计一个 用于打印两个数中的较大数
int a = 10;// 定义两个变量
int b = 20;
if (a > b) {// 分支语句对变量大小关系进行处理
System.out.println(a);
} else {
System.out.println(b);
}
}
public static void main(String[] args) {
getMax();
}
带参数方法的定义和调用
1. 带参数方法定义
格式:
public static void 方法名(数据类型 变量名){//单个参数
//方法体
}
public static void 方法名(数据类型 变量名1,数据类型 变量名2,......){//多个参数
//方法体
}
范例:
public static void isEvenNumber(int number){//单个参数
//方法体
}
public static void getMax(int number1,int number2,......){//多个参数
//方法体
}
注意:
- 方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
- 方法定义时,多个参数之间使用逗号(,)分隔
2. 带参数方法调用
格式:
方法名(变量名/常量值);//单个参数
方法名(变量名1/常量值1,变量名2/常量值2,......);//多个参数
范例:
isEvenNumber(5);//单个参数
getMax(5,6);//多个参数
注意:
- 方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错
范例如下:
public static void isEvenNumber(int number) {
if (number % 2 == 0) {
System.out.println(true);
} else {
System.out.println(false);
}
}
public static void main(String[] args) {
// 常量值的调用
isEvenNumber(10);
// 变量的调用
int number = 10;
isEvenNumber(number);
}
运行结果:
3. 形参和实参
形参:方法定义中的参数,等同于变量定义格式,例如:int number
实参:方法调用中的参数,等同于使用变量或者常量,例如:10,number
范例:
//设计一个方法用于打印两个数中的较大数,数据来自于方法参数
public static void getMax(int a,int b) {//定义一个方法
if (a > b) {// 分支语句对变量大小关系进行处理
System.out.println(a);
} else {
System.out.println(b);
}
}
public static void main(String[] args) {
//直接传递常量
//调用方法时,要几个就给几个,要什么类型,就给什么类型
//getMax(30);
//getMax(10.0,20.0);
getMax(10,20);
//定义变量,传递
int a=10;
int b=20;
getMax(a,b);
}
运行结果:
带返回值方法的定义和调用
1. 带返回值方法定义
格式:
public static 数据类型 方法名(参数){
return 数据;
}
范例1:
public static boolean isEvenNummber(int number){
return true;
}
范例2:
public static int getMax(int a,int b){
return 100;
}
注意:
- 方法定义时,return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错
2. 带返回值方法调用
格式1:
方法名(参数);
范例1:
isEvenNumber(5);//单个参数
格式2:
数据类型 变量名=方法名(参数);
范例2:
boolean flag=isEvenNumber(5);
注意:
- 方法的返回值通常会使用变量接收,否则该返回值将无意义
范例:
需求:定义一个方法,该方法接收一个参数,判断该数据是否是偶数,并返回真假值
//定义一个方法,该方法接收一个参数,判断该数据是否是偶数,并返回真假值
public static boolean isEvenNumber(int number) {
if (number % 2 == 0) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
//1.方法名(参数);
System.out.println(isEvenNumber(10));
//2.数据类型 变量名=方法名(参数);
boolean flag=isEvenNumber(10);
System.out.println(flag);
}
运行结果:
- 带返回值方法练习
需求:设计一个方法可以获取两个数的较大值,数据来自于参数
//需求:设计一个方法可以获取两个数的较大值,数据来自于参数
public static int getMax(int a,int b) {
if (a > b) {// 分支语句对变量大小关系进行处理
return a;
} else {
return b;
}
}
public static void main(String[] args) {
int result=getMax(10,20);
System.out.println(result);
// //2.直接打印结果
// System.out.println(getMax(10,20));
运行结果:
方法的注意事项
1. 方法不能嵌套定义
//正确代码:
public static void methodOne() {
//代码片段1
}
public static void methodTwo() {
//代码片段2
}
//错误代码:
public static void methodOne() {
//代码片段1
public static void methodTwo() {
//代码片段2
}
}
2. void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
//正确代码1:
public static void methodOne() {
//代码片段1
}
//正确代码2:
public static void methodOne() {
//代码片段1
return;
}
//错误代码:
public static void methodOne() {
//代码片段1
return 100;
}
方法的通用格式
格式:
public static 返回值类型 方法名(参数){
方法体;
return 数据;
}
-
public static——修饰符
-
返回值类型——方法操作完毕之后返回的数据的数据类型;如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return
-
方法名——调用方法时候使用的把标识
-
参数——由数据类型和变量名组成,多个参数之间用逗号隔开
-
方法体——完成功能的代码块
-
return——如果方法操作完毕,由数据返回,用于把数据返回给调用者
-
定义方式时,要注意两个明确
明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型
明确参数:主要是明确参数的类型和数量 -
调用方法时
void类型的方法,直接调用即可
非void类型的方法,推荐用变量接收调用