Java程序设计中,方法(函数)的使用介绍

文章介绍了Java中方法的定义和使用,包括无参数和带参数方法,强调了形参和实参的概念,并解释了基本类型和引用类型参数的区别。此外,还讨论了方法重载的概念,允许在同一个类中使用相同方法名但参数不同的方法,以提高代码灵活性。
摘要由CSDN通过智能技术生成

在程序设计中,为了减少代码工作量,提高代码可读性和复用率,我们通常会将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集,让这段代码可以在程序中被多次调用,从而避免了重复编写相同的代码。

方法必须先创建才可以使用,该过程成为方法定义

方法在创建后并会自主运行,需要使用时才执行,使用的过程称为方法调用。

下面是在方法定义、使用时的一些介绍:

一、方法的定义和调用

1、无参数方法

//定义格式
public static void 方法名 (   ) {
	// 方法体;
}

//调用
方法名();


//案例分析
public class Example {
    public static void main(String[] args) {
        // 调用无参方法,输出信息
        printMessage();
    }

    // 定义无参方法
    public static void printMessage() {
        System.out.println("Hello World!");
    }
}

无参方法调用内存图解:

 

 2、带参数方法

//定义格式
public static void 方法名 (参数1) {
	方法体;
}

public static void 方法名 (参数1, 参数2, 参数3...) {
	方法体;
}

//调用
方法名 (参数1);
方法名 (参数1, 参数2, 参数3...);


//案例分析
public class Example {
    public static void main(String[] args) {
        // 调用带参方法
        add(3,4);
    }

    // 定义带参方法,输出两个数的和
    public static void add(int a,int b) {
        System.out.println(a+b);
    }
}

 对于带参方法,搞清楚形参和实参的关系是关键。

(1)形参:方法定义中的参数,指的是在方法中用于进行计算操作的的参数。

(2)实参:方法调用中的参数,指的是在调用方法时传递给方法的值。

//案例
public class Example {
   public static void main(String[] args) {
      int a = 5;
      int b = 10;
      int result = sum(a, b);
      System.out.println("The result is: " + result);
   }

   public static int sum(int num1, int num2) {
      return num1 + num2;
   }
}

/*
在案例中,定义了一个sum方法,它接受两个参数(也称为形参)num1和num2。
然后,在main方法中,我们定义了两个变量a和b,它们的值分别为5和10。
我们将这些变量作为参数(即实参)传递给sum方法,然后将该方法的返回值存储在result的变量中并输出。
*/

形参和实参之间的相互影响:

基本数据类型的参数,形式参数的改变,不影响实际参数。

原理:每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失。

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

原理:引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果。

3、方法定义通用格式

//方法定义通用格式
public static 返回值类型 方法名(参数) {
   方法体; 
   return 数据 ;
}

/*
public static 	修饰符
返回值类型	    方法操作完毕之后返回的数据的数据类型,如果方法操作完毕,没有数据返回,这里写        
                void,且方法体中一般不写return
方法名		    调用方法时候使用的标识
参数            由数据类型和变量名组成,多个参数之间用逗号隔开
方法体		    完成功能的代码块
return		    如果方法操作完毕,有数据返回,用于把数据返回给调用者
*/

定义方法时,我们应该明确以下信息:

(1)明确返回值类型:明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型。
(2)明确参数:明确参数的类型和数量。

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

调用方法时,应该注意:

(1)调用方法时,传递参数的数量与类型必须与方法定义中的设置匹配,否则程序将报错。

(2)若方法返回值的类型为void,直接调用即可,非void类型的方法,方法的返回值使用变量接收,否则该返回值将无意义。

二、方法重载

方法重载指的在同一个类中定义的多个重名的方法,但这些方法的参数类型、参数个数不一致。

当我们在同一个类中定义了多个同名但参数不同的方法时,Java编译器会根据传入的参数类型和个数来自动地选择调用适合的方法。

//案例

public class Calculator {
    public void add(int num1, int num2) {
        int sum = num1 + num2;
        System.out.println("sum= " + sum);
    }

    public void add(double num1, double num2) {
        double sum = num1 + num2;
        System.out.println("sum=" + sum);
    }

    public void add(String str1, String str2) {
        String result = str1 + str2;
        System.out.println("新字符串:" + result);
    }
}

/*
在这个例子中,定义了三个名为add的方法,它们分别接受两个int、两个double以及两个String类型的参数,然后分别对它们进行求和或字符串拼接。
在调用这些方法时,我们可以根据需要选择传入不同类型的参数。
*/

方法重载提高了代码的可重用性和灵活性,并且让我们可以在同一个类中使用同样的方法名来实现不同的功能。

结论

今天有点热,该洗澡了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值