zoukankan      html  css  js  c++  java
  • 13方法

     

    方法的执行在栈中,加载在方法区

    访问修饰符 返回值类型 方法名(参数1,参数2);

        public static void delect(int i,int j)
        {
            
        }

    这个方法的方法签名是delect(int,int)

    调用方法的时候:先是进行精确匹配,如果没有精确匹配的方法,那么就进行相对精确的匹配

    方法调用的时候如果传入的是基本数据类型,相当于是值的拷贝,那么形参的改变不影响实参,如果是引用数据类型,相当于传入的是地址,这个时候形参的改变会影响到实参

    方法的重载:

    在一个类中,出现了方法名一致但是参数列表不一致的方法 方法是根据方法签名进行区分的

    相对精确匹配的数据类型必须小转大

        public static void main(String[] args) {
            int i=1;
            //m(1.0,1.0);
    
        }
        public static void m(int i,int j)
        {
            System.out.println("int,int");
        }
        public static void m(int i,double j) {
            System.out.println("int,double");
        }
        public static void m(double j,int i) {
            System.out.println("double,int");
        }

     方法的传值

     

        //所有的方法执行在栈中
        public static void main(String[] args) {
            int i=1;
            int[] arr={1,2,3};
            //调用方法
            //实参---实际赋予参数的值
            //如果传入的实参是基本类型,就是值的拷贝
            //m(i);//1
            //m(arr[1]);//1  数组元素---基本类型
    
            //如果参数是引用数据类型,就是地址值的拷贝
            //方法中拿到拷贝过来的地址值找到堆内存改变元素
            //就会对原堆空间影响
            //n(arr); //10
            //方法中拿到拷贝过来的地址值如果找到的不是原堆空间
            //做任何操作影响都不会影响原堆空间
            //mn(arr);//1
            System.out.println(arr[0]);
        }
        //形参---用于接收的参数
        public static void m(int i){
            i++;
            //System.out.println(i);
        }
    
        public static void n(int[] arr){//数组类型---数组地址值
            arr[0]=10;
        }
    
        public static void mn(int[] arr){
            arr=new int[4];
            arr[0]=10;
        }

    方法的递归

    方法中调用了方法的本身

    public class HellowWorld {
        public static void main(String[] argv ) {
            System.out.println(sum(11));
        }//endmain,
    
        public static int sum(int i)
        {
            if(i==1) //递归的出口
                return i;
            return i+sum(--i);
    
    
        }
    }//endclass

     

  • 相关阅读:
    AcWing 524. 愤怒的小鸟
    AcWing 算法提高课题解目录
    AcWing 292. 炮兵阵地
    AcWing 798. 差分矩阵
    golang 写数据到excel文件 清明
    使用golang开发mqtt服务压力测试工具 清明
    Linux云服务器安装JDK步骤 清明
    shell monitor memory 清明
    自己实现一个Electron跨进程消息组件(兼新书自荐)
    如何把Electron做成一个Runtime,让多个应用共享同一个Electron
  • 原文地址:https://www.cnblogs.com/xuwangqi/p/11043765.html
Copyright © 2011-2022 走看看