【方法概述】

本文详细介绍了Java中的方法,包括方法的定义、调用、带参数方法、带返回值的方法、方法重载以及参数传递。讲解了方法的基本语法、注意事项及实践练习,帮助读者深入理解Java编程中的方法使用。
摘要由CSDN通过智能技术生成

方法概述

//定义两个变量
int a = 10;
int b = 20;
//获取两个数中的较大值
int max = a > b?a:b;
//输出结果
System.out.println("max:" + max);

1.什么是方法

方法(method)是将具有独立功能的代码块组织成为一个 整体,使其具有特殊功能的代码集。

注意:

  • 方法必须先创建才可以使用,该过程称为方法定义;
  • 方法创建并不是直接运行的,需要手动使用后才执行,该过程称为方法调用;

2.方法的定义和调用

2.1方法定义

 - 格式:
public static void 方法名(){
//方法体
}
 -范例:
public static void isEvenNumber(){
//方法体
}

2.2方法调用

  • 格式:方法名();
  • 范例:isEvenNumber();

注意:
方法必须先定义后调用,否则程序将报错;

public static void main(String[] args) {
      isEvenNumber();
    }
    //需求:定义一个方法,在方法中定义一个变量,判断该数据是否是偶数
    public static void isEvenNumber() {
    //定义变量
    int number = 10;
    //判断该数据是否是偶数
    if (number % 2 == 0) {
        System.out.println(true);
    } else {
        System.out.println(false);
    }

2.3方法练习

需求:设计一个方法用于打印两个数中的较大数

思路:
①定义一个方法,用于打印两个数字中的较大数,例如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();
}

3.带参数方法的定义和调用

3.1带参数方法定义

  • 格式:public static void 方法名(参数){… …}

  • 格式(单个参数):
    public static void 方法名 (数据类型 变量名){… …}

  • 范例(单个参数):
    public static void isEvenNumber( int number ){… …}

  • 格式(多个参数):
    public static void 方法名 (数据类型 变量名1,数据类型 变量名1…){… …}

  • 范例(多个参数):
    public static void getMax( int number , int number){… …}

注意
1、方法定义时,参数中的数据类型变量名都不能缺少,缺少任意一个程序将报错
2、方法定义时,多个参数之间使用逗号(,)分隔

3.2带参数方法调用

格式:      方法名(参数);
  • 格式(单个参数):方法名(变量名/常量值);

  • 范例(单个参数):isEvenNumber(5);

  • 格式(多个参数):方法名(变量名1/常量值1,变量名2/常量值2);

  • 范例(多个参数):getMax(5,6);

注意:方法调用时,参数的数量与类型必须与方法定义 中的设置相匹配,否则程序将报错;

3.3形参与实参

形参:方法定义中的参数
等同于变量定义格式,例如:(int number)
实参:方法调用中的参数
等同于使用变量 或 常量,例如:10 number

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);
        }
    }

4.带返回值的方法的定义和调用

4.1带返回值的方法定义

 格式:public static数据类型   方法名(参数){
                return数据;
      }
范例1public static boolean isEvenNumber(int number){
                return true;
      }
范例2public static int    getMax(int a,int b){
                return 100;
      }
  • 方法定义时return后面对的返回值与方法定义上的数据类型要匹配,否则程序将报错

4.2带返回值方法调用

格式:数据类型 变量名 = 方法名(参数);
范例:boolean flag = isEvenNumber(5);
注意:方法的返回值通常会使用变量接收,否则该返回值将无意义

练习1:
pulic class MethodDemo{
 public static void main(String[] args) {
        //1:方法名(参数);
        //isEvenNumber(10);
        //true
        
        //2.数据类型 变量名 = 方法名(参数);
        boolean flag = isEvenNumber(10);
        //boolean flag = true;
        System.out.println(flag);
    }
    //需求:定义一个方法,该方法接收一个参数,判断该数据是否是偶数,并返回真假值
    public static boolean isEvenNumber(int number) {
        if (number % 2 == 0){
            return true;
        }else{
            return false;
        }
    }
  }

练习2:

public class MethodTest{
public static void main(String[]args){
//在main()方法中调用定义好的方法并使用变量保存
int result = getMax(a:10,b=20);
System.out.println(result);

//以上两行代码简写方式:
System.out.pritln(getMax(a:10,b=20));

//定义一个方法,用于获取两个数字中的较大数
public static int getMax(int a,int b){
//使用分支语句分两种情况对两个数字的大小关系进行处理
//根据题设分别设置两种情况下对应的返回结果
 if(a > b){
 return a;
 }else{
 return b;
 }
}

5.方法的注意事项

5.1书写注意事项

  • 方法不能嵌套定义
  • void表示无返回值,可省略return,如单独的书写return,后面不加数据

5.2方法的通用格式

public static 返回值类型 方法名(参数){
      方法体;
      return 数据;
   }
  • public static 修饰符,目前记住这个格式

  • 返回值类型:方法操作完毕之后返回的数据的数据类型
    如果方法操作完毕,没有数据返回,这里写void,而且方法中一般不写return

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

  • 参数: 有数据类型和变量名组成,多个参数之间用逗号隔开

  • 方法体:完成功能的代码块

  • return :如果方法操作完毕,有数据返回,用于数据返回给调用者

  • 定义方法时,要做到两个明确
    -明确返回值类型,主要是明确方法操作完毕之后是否有数据返回,如没有,写void;如有,写对应的数据类型
    -明确参数,主要是明确参数的类型和数量

  • 调用方法时
    -void类型的方法,直接调用即可
    -非void类型的方法,推荐用变量接收调用

6. 方法重载

6.1概述

方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
①多个方法在同一类中
②多个方法具有相同的方法名
③多个方法的参数相同,类型不同 或 数量不同

6.2方法重载特点

①重载仅对应方法的定义,与方法的调用无关,调用方式参照标准方式
②重载仅针对一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载

6.3方法重载练习

在这里插入图片描述

练习:
public static void main(String[]args){
//调用方法
 System.out.println(compare(10,20));
 System.out.println(compare((byte)10,(byte)20));
 System.out.println(compare((short)10,(short)20));
 System.out.println(compare(10L,20L));
//int
public static boolean compare(int a,int b){
  System.out.println(int);
   return a == b;
//byte
public static boolean compare(byte a,byte b){
  System.out.println(byte);
   return a == b;
   }
//short
public static boolean compare(short a,short b){
   System.out.println(short);
   return a == b;
   }
//long
public static boolean compare(long a,long b){
   System.out.println(long);
   return a == b;
   }

7.方法的参数传递

7.1基本类型

对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
备注翻译:change 改变

public class ArgsDemo01{
    public static void main(String[] args) {
            int number = 100;
            System.out.println("调用change方法前:"+ number);
            change(number);
            System.out.println("调用change方法后:"+ number);
    }
    public static void change(int number){
            nunmber = 200;
   }
 }  

7.2方法参数传递(引用类型)

对于引用类型的参数,形式参数的改变,影响实际参数的值

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值