一、方法的概念
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
注意:
方法必须先创建才可以使用,该过程称为方法定义。
方法创建后并不是直接可以运行,需要手动使用后,才执行,该过程称为方法调用。
二、无参数方法定义和调用
定义格式:
public static void 方法名 ( ) { // 方法体; }
范例:
public static void method ( ) { // 方法体; }
调用格式:
方法名();
范例:
method();
注意:方法必须先定义,后调用,否则程序将报错。
每一个方法在被调用执行的时候,都会进入栈内存,并且拥有自己独立的内存空间,方法内部代码调用完毕之后,会从栈内存中弹栈消失。
无参数方法的练习
需求:设计一个方法用于打印两个数中的较大数
思路:
①定义一个方法,用于打印两个数字中的较大数,例如getMax()
②方法中定义两个变量,用于保存两个数字
③使用分支语句分两种情况对两个数字的大小关系进行处理
④在main()方法中调用定义好的方法
代码:
public class MethodTest { public static void main(String[] args) { //在main()方法中调用定义好的方法 getMax(); } //定义一个方法,用于打印两个数字中的较大数,例如getMax() public static void getMax() { //方法中定义两个变量,用于保存两个数字 int a = 10; int b = 20; //使用分支语句分两种情况对两个数字的大小关系进行处理 if(a > b) { System.out.println(a); } else { System.out.println(b); } } }
三、带参数方法定义和调用
定义格式:
参数:由数据类型和变量名组成-数据类型 变量名
范例:int a
public static void 方法名 (参数1) { 方法体; } public static void 方法名 (参数1, 参数2, 参数3...) { 方法体; }
范例:
public static void isEvenNumber(int number){ ... } public static void getMax(int num1, int num2){ ... }
注意:方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错。
方法定义时,多个参数之间使用逗号( , )分隔。
调用格式:
方法名(参数); 方法名(参数1,参数2);
范例:
isEvenNumber(10); getMax(10,20);
方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错
带参数方法练习
需求:设计一个方法用于打印两个数中较大的数,数据来自于方法参数
思路:
①定义一个方法,用于打印两个数字中的较大数,例如getMax()
②为方法定义两个参数,用于接收两个数字
③使用分支语句分两种情况对两个数字的大小关系进行处理
④在main()方法中调用定义好的方法(使用常量)
⑤在main()方法中调用定义好的方法(使用变量)
代码:
public class MethodTest { public static void main(String[] args) { //在main()方法中调用定义好的方法(使用常量) getMax(10,20); //调用方法的时候,人家要几个,你就给几个,人家要什么类型的,你就给什么类型的 //getMax(30); //getMax(10.0,20.0); //在main()方法中调用定义好的方法(使用变量) int a = 10; int b = 20; getMax(a, b); } //定义一个方法,用于打印两个数字中的较大数,例如getMax() //为方法定义两个参数,用于接收两个数字 public static void getMax(int a, int b) { //使用分支语句分两种情况对两个数字的大小关系进行处理 if(a > b) { System.out.println(a); } else { System.out.println(b); } } }
四、带返回值方法定义和调用
定义格式:
public static 数据类型 方法名 ( 参数 ) { return 数据 ; }
范例:
public static boolean isEvenNumber( int number ) { return true ; } public static int getMax( int a, int b ) { return 100 ; }
注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错
调用格式:
方法名 ( 参数 ) ; 数据类型 变量名 = 方法名 ( 参数 ) ;
范例:
isEvenNumber ( 5 ) ; boolean flag = isEvenNumber ( 5 );
注意:方法的返回值通常会使用变量接收,否则该返回值将无意义
带返回值方法练习
需求:设计一个方法可以获取两个数的较大值,数据来自参数
思路:
①定义一个方法,用于获取两个数字中的较大数
②使用分支语句分两种情况对两个数字的大小关系进行处理
③根据题设分别设置两种情况下对应的返回结果
④在main()方法中调用定义好的方法并使用变量保存
⑤在main()方法中调用定义好的方法并直接打印结果
代码:
public class MethodTest { public static void main(String[] args) { //在main()方法中调用定义好的方法并使用变量保存 int result = getMax(10,20); System.out.println(result); //在main()方法中调用定义好的方法并直接打印结果 System.out.println(getMax(10,20)); } //定义一个方法,用于获取两个数字中的较大数 public static int getMax(int a, int b) { //使用分支语句分两种情况对两个数字的大小关系进行处理 //根据题设分别设置两种情况下对应的返回结果 if(a > b) { return a; } else { return b; } } }