方法
方法的概述
什么是方法?
方法是具有特定功能的代码块。
简单的理解就是:把一段完整的代码,看成一个整体,并给这段代码起个名字,以后在用的时候,使用
这个名字就相当于执行了这一段代码。
例如:洗衣机洗衣服就是一系列动作看成了一个整体。 打开洗衣机,放入衣服,放入洗衣液,注水,洗
涤,甩干,排水。一提到洗衣机洗衣服,我们就会想到上述过程。
方法必须先创建才可以使用,创建只需要进行一次,使用可以多次。方法的创建过程称为方法的定义。
和变量类似,变量必须先定义再使用,方法也是先定义再使用。
方法创建后并不是直接运行的,需要手动使用才执行,使用方法称为方法调用。
方法的定义
方法隶属于类,因此方法要定义在类中,且方法不能定义在别的方法内。—类后面会详细讲。
方法定义的格式
public、static在讲类和对象的时候会详细讲,此处先固定这么写。
方法名的命名规范和变量名的命名规范相同。
返回值、参数列表 下面专门讲解。
方法定义示例
上述案例就是一个方法,这个方法的功能是计算从1到num的和,num是用户输入的数据。
由此可见:方法是一个具有特定功能的代码段。我们定义的方法sum的功能是求从1到num的和。
public static 返回值类型 方法名(参数列表){
方法体
}
public static void sum() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数,将为您计算1到这个数的和:");
int num = scanner.nextInt();
int sum = 0;
for(int i = 1; i <= num; i++) {
sum += i;
}
System.out.println("1到" + num + "的和是:" + sum);
}
方法的调用
方法定义好之后,就可以在想要使用的时候调用方法,达到使用方法的目的。
方法调用的格式
方法名(参数);
方法调用的示例
上述代码就是方法的调用,main方法是程序的入口,在main方法中我们调用了sum方法。
方法可以简化程序的代码,让代码得以复用。
方法的调用过程
public class LessonMethod {
public static void main(String[] args) {
sum();//调用sum方法
}
public static void sum() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数,将为您计算1到这个数的和:");
int num = scanner.nextInt();
int sum = 0;
for(int i = 1; i <= num; i++) {
sum += i;
}
System.out.println("1到" + num + "的和是:" + sum);
}
}
public static void main(String[] args) {
System.out.println("sum方法执行之前");
sum();
System.out.println("sum方法执行之后");
sum();
System.out.println("sum方法再次执行之后");
}
public static void sum() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数,将为您计算1到这个数的和:");
int num = scanner.nextInt();
int sum = 0;
for(int i = 1; i <= num; i++) {
sum += i;
}
System.out.println("1到" + num + "的和是:" + sum);
}
程序的入口是main方法,因此程序一旦运行会自动执行main方法。
首先会打印一句话 “sum方法执行之前”
然后执行 sum 方法,此时程序会跳转到sum方法中,将sum方法中的代码全部执行完毕之后,回
到main方法中。此时相当于 sum() 执行完毕。
然后打印一句话 “sum方法执行之后”
紧接着执行sum方法,此时程序会跳转到sum方法中,将sum方法中的代码全部执行完毕之后,
回到main方法中。此时相当于 sum() 执行完毕。
然后打印一句话 “sum方法再次执行之后”
最后main函数结束执行,程序结束。
方法的分类
参数:方法执行所需要的外界数据。
返回值:方法执行完之后,给外界的数据。
例如:
再例如:
方法按有没有参数,有没有返回值可以分为以下4类:
- 无参数无返回值方法
- 无参数有返回值方法
- 有参数无返回值方法
- 有参数有返回值方法
public static 饭 买饭(钱, 饭的名字){
买饭的具体过程
}
public static 钱 ATM取钱(银行卡, 取款金额){
取款的具体过程
}
无参数无返回值方法
如果一个方法没有参数,也没有返回值,这样的方法就是无参数无返回值方法。
如果方法没有返回值,我们在定义方法的时候,将返回值类型指定为 void。
无参数无返回值方法的定义格式
无参数无返回值方法示例
无参数无返回值方法的调用格式
无参数无返回值方法的调用示例
无参数有返回值方法
如果一个方法没有参数,但是有返回值,这样的方法就是无参数有返回值方法。
如果方法有返回值,方法体里要通过return语句将结果返回给外界。
定义方法时,返回值类型必须 和 方法体中return 返回的值的类型一致。
public static void 方法名(){
方法体
}
public static void sum() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数,将为您计算1到这个数的和:");
int num = scanner.nextInt();
int sum = 0;
for(int i = 1; i <= num; i++) {
sum += i;
}
System.out.println("1到" + num + "的和是:" + sum);
}
方法名();
public static void main(String[] args) {
sum();//调用sum方法
}
public static void sum() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数,将为您计算1到这个数的和:");
int num = scanner.nextInt();
int sum = 0;
for(int i = 1; i <= num; i++) {
sum += i;
}
System.out.println("1到" + num + "的和是:" + sum);
}
无参数有返回值方法的定义格式
无参数有返回值方法示例
无参数有返回值方法的调用格式
或
无参数有返回值方法的调用示例
有参数无返回值方法
有参数无返回值方法的定义格式
有参数无返回值方法示例
public static 返回值类型 方法名(){
方法体
return 返回值;
}
public static double PI(){
return 3.1415926;
}
数据类型 变量名 = 方法名();//如果外界要用返回值,拿一个变量接收返回值
方法名();//如果外界不需要使用返回值,可以不接收
public static void main(String[] args) {
double num = PI();//方法调用
double area = num * 10 * 10;
System.out.println(area);
}
public static double PI() {
return 3.1415926;
}
public static void 方法名(参数类型 参数名1, 参数类型 参数名2