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

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

个人觉得就是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:结束当前所在循环的当次,进入下一次循环

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/801612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-07
下一篇 2022-05-07

发表评论

登录后才能评论

评论列表(0条)

保存