1.方法的概念

  1. 方法(method)是程序中最小的执行单元
  • 注意:
    • 方法必须先创建才可以使用,该过程成为方法定义
    • 方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用

      2.无参数方法定义和调用

      ```java public static void 方法名 ( ) { // 方法体; }

//调用格式: 方法名();

  1. ```java
  2. public class MethodTest {
  3. public static void main(String[] args) {
  4. //在main()方法中调用定义好的方法
  5. getMax();
  6. }
  7. //定义一个方法,用于打印两个数字中的较大数,例如getMax()
  8. public static void getMax() {
  9. //方法中定义两个变量,用于保存两个数字
  10. int a = 10;
  11. int b = 20;
  12. //使用分支语句分两种情况对两个数字的大小关系进行处理
  13. if(a > b) {
  14. System.out.println(a);
  15. } else {
  16. System.out.println(b);
  17. }
  18. }
  19. }

2.有参数方法定义和调用

  1. public static void 方法名 (参数) {
  2. 方法体;
  3. }
  4. public static void 方法名 (参数1, 参数2, 参数3...) {
  5. 方法体;
  6. }
  7. /*调用格式:
  8. 方法名(参数);
  9. 方法名(参数1,参数2);
  10. */
  1. public class MethodTest {
  2. public static void main(String[] args) {
  3. //在main()方法中调用定义好的方法(使用常量)
  4. getMax(10,20);
  5. //调用方法的时候,人家要几个,你就给几个,人家要什么类型的,你就给什么类型的
  6. //getMax(30);
  7. //getMax(10.0,20.0);
  8. //在main()方法中调用定义好的方法(使用变量)
  9. int a = 10;
  10. int b = 20;
  11. getMax(a, b);
  12. }
  13. //定义一个方法,用于打印两个数字中的较大数,例如getMax()
  14. //为方法定义两个参数,用于接收两个数字
  15. public static void getMax(int a, int b) {
  16. //使用分支语句分两种情况对两个数字的大小关系进行处理
  17. if(a > b) {
  18. System.out.println(a);
  19. } else {
  20. System.out.println(b);
  21. }
  22. }
  23. }

3.有返回值方法定义和调用

  1. public static 数据类型 方法名 ( 参数 ) {
  2. return 数据 ;
  3. }
  4. //调用格式
  5. 方法名 ( 参数 ) ;
  6. 数据类型 变量名 = 方法名 ( 参数 ) ;
  1. public class MethodTest {
  2. public static void main(String[] args) {
  3. //在main()方法中调用定义好的方法并使用变量保存
  4. int result = getMax(10,20);
  5. System.out.println(result);
  6. //在main()方法中调用定义好的方法并直接打印结果
  7. System.out.println(getMax(10,20));
  8. }
  9. //定义一个方法,用于获取两个数字中的较大数
  10. public static int getMax(int a, int b) {
  11. //使用分支语句分两种情况对两个数字的大小关系进行处理
  12. //根据题设分别设置两种情况下对应的返回结果
  13. if(a > b) {
  14. return a;
  15. } else {
  16. return b;
  17. }
  18. }
  19. }

4.方法总结

1.方法注意事项

方法不能嵌套定义

  1. public class MethodDemo {
  2. public static void main(String[] args) {
  3. }
  4. public static void methodOne() {
  5. public static void methodTwo() {
  6. // 这里会引发编译错误!!!
  7. }
  8. }
  9. }

void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据

  1. public class MethodDemo {
  2. public static void main(String[] args) {
  3. }
  4. public static void methodTwo() {
  5. //return 100; 编译错误,因为没有具体返回值类型
  6. return;
  7. //System.out.println(100); return语句后面不能跟数据或代码
  8. }
  9. }

2.方法的通用格式

  1. public static 返回值类型 方法名(参数) {
  2. 方法体;
  3. return 数据 ;
  4. }
  • 解释:

    • public static 修饰符,目前先记住这个格式
    • 返回值类型 方法操作完毕之后返回的数据的数据类型

      (如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return)

    • 方法名 调用方法时候使用的标识符

    • 参数 由数据类型和变量名组成,多个参数之间用逗号隔开
    • 方法体 完成功能的代码块
    • return 如果方法操作完毕,有数据返回,用于把数据返回给调用者

      5.方法重载

      存在于同一个类中指一个方法与已经存在的方法名称上相同,但是参数类型、个数、顺序至少有一个不同。
      应该注意的是,返回值不同,其它都相同不算是重载。

      1. class OverloadingExample {
      2. public void show(int x) {
      3. System.out.println(x);
      4. }
      5. public void show(int x, String y) {
      6. System.out.println(x + " " + y);
      7. }
      8. }
      1. public static void main(String[] args) {
      2. OverloadingExample example = new OverloadingExample();
      3. example.show(1);
      4. example.show(1, "2");
      5. }