自学java第三天(方法的定义,调用,参数传递,重载)

本文详细讲解了Java中函数(方法)的定义、调用、返回值类型、内存影响以及参数传递,包括值传递与引用传递的区别,方法重载概念,以及如何使用return控制流程。实例涵盖计算和判断功能,有助于提升代码组织和理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人觉得就是c里面的函数。。

package day3;

public class fangfa1 {
    public static void main(String[] args) {
        int c1=sum(10,20);
        System.out.println(c1);

    } public static int sum(int a,int b){
        int c=a+b;
        return c;
    }
}

使用方法的好处:

*提高了代码的复用性。

*让程序的逻辑更清晰。

(1)方法的定义,方法的完整格式,以及方法怎么调用执行。

package day3;

public class fangfa3 {
    public static void main(String[] args) {
        //学会方法定义其他形式,无返回无返回类型
        print();
        print();

    }
    public static void print(){
        System.out.println("123");
        System.out.println("123");
    }
}

如果方法不需要返回结果,返回值类型必须申明成 void(无返回值)

(2)方法使用的其他问题

*方法的编写顺序无所谓。

*方法和方法之间是平级关系。

*void类型的,方法内不能有return返回。反之亦然

*return下面不能写代码,无法执行。

(3)方法的案例

定义一个方法,计算1-n的和并返回

package day3;

public class fangfa4 {
    public static void main(String[] args) {
        System.out.println(sum(5));

    }
    public static int sum(int n){
        int sum=0;
        for (int i = 0; i <=n; i++) {
            sum=sum+i;
        }
        return sum;
    }
}

判断该数字是奇数还是偶数

用方法求数组元素的max

 (4)

方法的调用内存图

方法没有被调用时,在方法区的字节码文件中存放

方法被调用的时候,需要进入到栈内存中运行

(5)方法的参数传递机制

基本类型的参数传递:值传递

package day3;

public class fangfa7 {
    public static void main(String[] args) {
        //理解 java 基本类型参数传递:值传递
        int a= 10;//实参
        change(a);
        System.out.println(a);

    }
    public static void change( int a){  //形参
        System.out.println(a);
        a=20;
        System.out.println(a);

    }
}

输出结果

传递的是数值!!传递的是实参存储的值,而不是实参本身。

引用类型的参数传递:值传递 传递的是地址

package day3;

public class fangfa8 {
    public static void main(String[] args) {
        // 引用类型的参数传递 ,地址传递
        int[] arrs={10,23,45};
        System.out.println(arrs[1]);//23
        change(arrs);
        System.out.println(arrs[1]);//2

    }
    public static void change(int[] arrs){
        System.out.println(arrs[1]);//23
        arrs[1]=2;
        System.out.println(arrs[1]);//2
    }
}

 

(6)方法重载:方法名称相同,形参列表不同

package day3;

public class fangfa9 {
    public static void main(String[] args) {
        //了解方法重载
        fire();
        fire("日本");
        fire("日本",10);

    }
    public static void fire(){
        System.out.println("1");
    }
    public static void fire(String location){
        System.out.println(location+"aa");
    }
    public static void fire(String location,int number){
        System.out.println(location+number+"a");
    }
}

 可读性强。

(7)单独使用return关键字

*可以立即跳出并结束当前方法的执行

package day3;

public class fangfa10 {
    public static void main(String[] args) {
        System.out.println("开始");
      chu(10,0);
        System.out.println("结束");
    }
    public static void chu(int a,int b){
        if(b==0){
            System.out.println("您输入的数据有误");
            return; //跳出当前方法,并结束执行;
            
        }
        int c=a/b;
        System.out.println(c);
    }
}

 return:跳出并立即结束所在方法的执行

break:跳出并结束当前所在循环的执行

continue:结束当前所在循环的当次,进入下一次循环

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值