你将收获

打下坚实基础

学习包袱不再沉重

适用人群

零基础,初学者,想转行,IT爱好者,IT类大学生

课程介绍

1、来自清华、北大、北航的实战讲师和上市企业骨灰级大咖授课

2、根据企业需求设计课程,引入主流框架

3、由浅入深,0基础缔造垫脚石,妈妈再也不用担心我的学习

课程目录

讨论留言

正在加载中...

同学笔记

  • kaihuayu 2020-12-10 16:12:24

    来源:使用递归实现阶乘的计算 查看详情

    注意;

    a.必须找到递归的规律和退出条件;

    b.使用递归使得问题简单化而不是复杂化。

    c.递归如果影响到程序的执行性能则使用递推取代之;

  • kaihuayu 2020-12-10 15:25:17

    来源:引用数据类型作为方法参数的传递分析2 查看详情

    /*
    
        参数传递过程测试
    */
    
    public class ArgumentTest{
    
    
        void show(int i){
            i=200;
            System.out.println("i=" +i);
     
        }
      //引用型形参
        void show (int[] arr){
    
           arr =new int[2]; //加上该行代码后的执行结果 因为arr 在堆区新开了空间。指向不在和brr为同一内存地址
           arr[0] = 200;
           System.out.println("arr[0]="+arr[0]);//200       
    
        }
    
        public static void main (String[] args){
    //a. 当基本数据类型的变量作为方法的参数传递时,形参变量的改变不会影响到实参;
             ArgumentTest at = new ArgumentTest();
             int num =10;
             at.show(num);
             System.out.println("num=" +num);  //打印结果为 10
          
           System.out.println("--------------------------------------");
    //b.当引用数据类型的变量作为方法的参数传递时,形参变量的指向的内容发生改变后会影响到实参变量指向的内容;
    
    
            int[] brr =new int[]{10,20}; 
            at.show(brr);
            System.out.println("brr[0]="+brr[0]); // 打印结果为200  加上该行代码后的执行结果 为10 
        } 
    
       
    
    
    }

    c.当引用数据类型的变量作为方法的参数传递时,形参变量改变指向后在改变指向的内容时不会影响到实参变量指向的内容;

    所谓值传递就是当参数是基本类型时,传递参数的值,比如传递i=10,真实传参时,把10赋值给了形参。当参数是对象时,传递的是对象的值,也就是对象的首地址。就是把对象的地址赋值给形参。

    参数传递
    传参的过程总结

    参数传递的步骤: *
    1.分配实参空间,基本类型在栈中赋值,引用类型变量在栈中指向堆中的对象 
    2.传递参数其实就是在栈中分配形参的空间,然后把栈中实参的值复制过来。
    3.在方法中使用形参,方法结束形参出栈(消失),只剩下实参。
    • gc主要针对堆中的对象,栈中数据是随时进出的。判断堆中对象是不是内存垃圾的条件看栈中是否有指向,直接或者间接的指向都可以,没有的就是内存垃圾。

  • kaihuayu 2020-12-10 15:09:13

    来源:引用数据类型作为方法参数的传递分析 查看详情

    当引用数据类型的变量作为方法的参数传递时,形参变量的指向的内容发生改变后会影响到实参变量指向的内容;

    /*
    
        参数传递过程测试
    */
    
    public class ArgumentTest{
    
    
        void show(int i){
            i=200;
            System.out.println("i=" +i);
     
        }
      //引用型形参
        void show (int[] arr){
           arr[0] = 200;
           System.out.println("arr[0]="+arr[0]);//200       
    
        }
    
        public static void main (String[] args){
    //a. 当基本数据类型的变量作为方法的参数传递时,形参变量的改变不会影响到实参;
             ArgumentTest at = new ArgumentTest();
             int num =10;
             at.show(num);
             System.out.println("num=" +num);  //打印结果为 10
          
           System.out.println("--------------------------------------");
    //b.当引用数据类型的变量作为方法的参数传递时,形参变量的指向的内容发生改变后会影响到实参变量指向的内容;
    
    
            int[] brr =new int[]{10,20}; 
            at.show(brr);
            System.out.println("brr[0]="+brr[0]); // 打印结果为200   
        } 
    
       
    
    
    }

     

没有更多了