引入:方法就是把一些代码打包在一起像一个工具箱一样,需要的时候直接进行调用。所以,我们要从方法的格式和方法的调用两方面来学习
- 方法的定义:把一些代码打包在一起,该过程称为方法的定义
- 方法的调用:方法定义后并不是直接运行的,需要手动调用才行,该过程称为方法的调用。
2.1 方法的格式
修饰符 返回值类型 方法名称(动宾结构)(参数类型 参数名称 ,.......){
方法体
return 返回值;
}
简单示例:
public static void playGame(){
System.out.println("打游戏");
}
方法的调用:
public class Method1 {
public static void main(String[] args) {
// 直接调用方法名
playGame();
}
public static void playGame(){
System.out.println("打游戏");
}
}
注意:方法要写在类里面,主函数main的外面。方法调用时,参数的数量和类型必须和方法定义中小括号里面的变量一一对应,否则程序将报错
附:
- 形参:全称形式参数,是指方法定义中的参数
- 实参:全称实际参数,是方法调用中的参数
调用方式:
- 单独调用:方法名(实参)
- 赋值调用:
- 打印调用:
实战一:计算正方形、三角形、圆形的面积工具(我是通过Scanner和循环来实现方法)
import java.util.Scanner; public class Test{ public static void main(String[] args) { while(true) { Scanner sc=new Scanner(System.in); System.out.println("请选择你要计算的图形:1、正方形\t 2、三角形\t 3、圆形\t"); int in = sc.nextInt(); switch (in) { case 1://正方形 System.out.println("请输入该正方形的边长:"); double b=sc.nextDouble(); System.out.println("该正方形的面积为:"+squareArea(b)); break; case 2://三角形 System.out.println("请输入该三角形的底:"); double d = sc.nextDouble(); System.out.println("请输入该三角形的高:"); double h = sc.nextDouble(); System.out.println("该三角形的面积为:"+triangleArea(d,h)); break; case 3://圆形 System.out.println("请输入该圆形的半径:"); double r = sc.nextDouble(); System.out.println("该圆形的面积为:"+cycleArea(r)); break; default: System.out.println("请输入正确选项:"); } } } public static double squareArea(double b){ return b * b; } public static double triangleArea(double d, double h){ return d * h / 2; } public static double cycleArea(double r){ System.out.println("开始计算~~~~~~~~~~~"); return 3.14 * r * r; } }
实战二:计算阶乘从1到N
package Java; import java.util.Scanner; public class Work { public static void main(String[] args) { int n = 0; int a = 0; for (int i = 1; i <= n; i++) { a *= i; System.out.println(a); } } } 实战三:头歌——方法的第1关 package step1; public class HelloWorld { /********** Begin **********/ //定义一个方法,用来和老师打招呼 public static void helloEducoder() { System.out.println("hello teacher!"); } /********** End **********/ public static void main(String[] args) { /********** Begin **********/ //调用方法 helloEducoder(); /********** End **********/ } }