JAVA 方法
1.方法概述
假如一个代码中有这样三行代码,这三行代码实现一个比较两个数中较大值并输出,如果要多次用到这三个代码块,重复编写太麻烦了,有没有什么办法可以解决这个问题呢?
-
//定义两个变量 int a = 10; int b = 20;
-
//获取两个数中的较大值 int max = a > b ? a:b;
-
//输出结果 System.out.println("max: " + max);
我们把这三个代码打包成一个整体,就形成了一个方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-psDK2gs9-1607650526040)(C:/Users/THT/AppData/Roaming/Typora/typora-user-images/image-20201210131022601.png)]
1.1什么是方法
-
方法(method)是将具有独立功能的 代码块 组织成为一个整体,使其具有特殊功能的 代码集
注意:
-
方法必须先创建才可以使用,该过程称为方法定义
-
方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用
2.方法的定义和调用
2.1方法定义
-
格式:
// Java方法定义格式 public static void 方法名() { // 方法体 }
-
范例:
// 方法定义范例 public static void isEvenNumber() { //方法体 }
2.2方法调用
注意:
2.3方法调用过程
public class MethodDemo {
public static void main(String[] args) {
//调用isEvenNumber方法
isEvenNumber();
}
//定义一个方法
public static void isEvenNumber(){
//定义变量
int number = 10;
//if语句判断该数据是否是偶数
if (number%2 == 0)
{
System.out.println(number + "是偶数");
}
else
{
System.out.println(number + "是奇数");
}
}
}
2.4方法练习
📔 需求:
设计一个方法,用于打印两个数中的较大数
🖊 思路:
-
定义一个方法,用于打印两个数中的较大数,例如 getMax ( )
public static void getMax() { }
-
方法中定义两个变量,用于保存两个数
public static void getMax() { int a = 10; int b = 20; }
-
使用分支语句分两种情况对两个数字的大写关系进行处理
if (a > b) { System.out.println(a); } else { System.out.println(b); }
-
在 main( ) 方法中调用定义好的方法
public static void main(String[] args) { //调用方法getMax() getMax(); }
3带参数方法定义和调用
3.1带参数方法定义
-
格式:
// Java带参方法的定义格式 public static void 方法名(参数){... ...}
-
格式(单个参数):
public static void 方法名 (数据类型 变量名) {... ...}
-
范例(单个参数):
public static void isEvenNumber(int number) {... ...}
-
格式(多个参数):
public static void 方法名 (数据类型 变量名1, 数据类型 变量名2, ...) {... ...}
-
范例(多个参数):
public static void getMax (int number1, int number 2) {... ...}
注意:
3.2带参数方法调用
-
格式:
方法名(参数);
-
格式(单个参数):
方法名(变量名/常量名);
-
范例(单个参数):
isEvenNumber(5);
-
格式(多个参数):
方法名(变量名1/常量值1, 变量名2/常量值2);
-
范式(多个参数):
getMax(5, 6);
注意:
- 方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错
3.3形参和实参
形参:方法中的参数
- 形参:方法定义中的形参
- 等同于变量定义格式,例如:int number
- 实参:方法调用中的参数
- 等同于使用变量或常量,例如:10 number
public static void MethodDemo {
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.4带参数方法练习
📔 需求:
设计一个方法用于打印两个数中的较大数,数据来来自于方法参数
🖊 思路:
-
定义一个方法,用于打印两个数字中的较大值,例如 getMax ( )
public static void getMax() { }
-
为方法定义两个参数,用于接收两个数字
public static void getMax(int a, int b) { }
-
使用分支语句分两种情况对两个数字的大小关系进行处理
if (a > b) { System.out.println(a); } else { System.out.println(b); }
-
在 main ( ) 方法中调用定义好的方法(使用常量)
public static void main(String[] args) { //直接传递常量 getMax(10, 20); }
-
在 main() 方法中调用定义好的方法(使用变量)
public static void main(String[] args) { //定义变量,传递 int a = 10; int b = 20; getMax(a, b); }
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; }
注意:
4.2带返回值方法调用
注意:
4.3带返回值方法练习
📔 需求:
设计一个方法可以获取两个数的较大值,数据来自于参数
🖊 思路:
-
定义一个方法,用于获取两个数字中的较大值
public static int getMax(int a, int b) { }
-
使用分支语句分两种情况对两个数字的大小关系进行处理
if (a > b) { } else { }
-
根据题设分别设置两种情况下对应的返回值
if (a > b) { return a; } else { return b; }
-
在 main() 方法中调用定义好的方法并用变量保存
public static void main(String[] args) { int result = getMax(10, 20); System.out.println(return); }
-
在 main() 方法中调用定义好的方法并直接打印结果
public static void main(String[] args) { //输出结果 System.out.println(getMax(10, 20)); }
5.方法的注意事项
5.1方法注意事项
-
方法不能嵌套定义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DM6zH5gG-1607650526041)(C:/Users/THT/AppData/Roaming/Typora/typora-user-images/image-20201210172710087.png)]
-
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kXViSMnL-1607650526042)(C:/Users/THT/AppData/Roaming/Typora/typora-user-images/image-20201210172817442.png)]
5.2方法的通用格式
-
格式:
public static 返回值类型 方法名(参数) { 方法体; return 数据; }
-
public static 修饰符,目前先记住这个格式
-
返回值类型 方法操作完毕之后返回的数据类型,
如果方法操作完毕,没有返回,这里写void,而且方法体中一般不写return
-
方法名 调用方法时候使用的标识
-
参数 有数据类型和变量名组成,多个参数直接用逗号分开
-
方法体 完成功能的代码块
-
return 如果方法操作完毕,有数据返回,用于把数据返回给调用者
public static 返回值类型 方法名(参数) {
方法体;
return 数据;
}
- ##### public static 修饰符,目前先记住这个格式 - ##### 返回值类型 方法操作完毕之后返回的数据类型, ##### 如果方法操作完毕,没有返回,这里写void,而且方法体中一般不写return - ##### 方法名 调用方法时候使用的标识 - ##### 参数 有数据类型和变量名组成,多个参数直接用逗号分开 - ##### 方法体 完成功能的代码块 - ##### return 如果方法操作完毕,有数据返回,用于把数据返回给调用者
-