• No.1 数组与内存控制


    1.动、静态初始化(数组);初始化包括:①分配内存②赋初始值

    • 何为动、何为静,站在程序(系统)的角度来看,“动”指的是系统动态的赋初始值(先赋默认初始值,后面程序若有显示赋值是在默认值上面进行再赋值)(程序员指定数组长度);“静”指的是不由系统来赋初始值(系统指定长度),也就是由程序员显示赋初始值
    • 程序员角度上:动——程序员只指定长度,不指定初始值;静——程序员不指定长度,指定初始值
    • eg:
       1 // 动态初始化
       2 int score[] = new int[3];  // 此处有默认初始值
       4 //通过循环为数组 动态 赋值,且赋奇数值  
       5 for(int i=0;i<score.length;i++){  
       6    score[i]=i*2+1;  // 将默认初始值改掉
       7 } 
       8 
       9 // 静态初始化
      10 int score[]={94,86,25,78,19};  

    2.局部变量存放在 各自的方法栈区中(main方法:main栈区),引用类型变量所引用的对象放在堆内存中

    3.区分引用类型变量何时指变量何时指的是引用的对象,规则

    • 引用变量本质上只是一个指针,只要程序通过它来访问属性或者调用方法,那么引用变量就会由他所引用的对象来代替。

    4.数组元素指的是:数组对象所存储的值

    • 数组元素就是变量,可以当成普通变量来进行使用
    • 区别:main方法声明的变量属于局部变量保存在main方法栈中,但是数组元素作为数组对象的一部分是保存在堆内存中的,不论他们是基本类型还是引用类型的数组元素

    5.没有多维数组,多维数组的本质仍然是一维数组

    • 所谓多维,其实是指数组元素仍然是数组(此处的数组可以是N维的)的1维数组
    • 初始化时,可先初始化最左边的维数  
    • int[5][][]:表示长度为5的一维数组,它的数组元素是二维的数组,即它的数组元素是指向二维数组对象的引用变量

    6.Java中数组是静态的,即它一旦初始化完成,长度是不可改变的

    PS:不足之处,欢迎指正、交流
  • 相关阅读:
    转: requirejs压缩打包r.js使用示例 2 (~~很详细的教程)
    转:requirejs打包压缩r.js使用示例
    转: RequireJS Optimizer 的使用和配置方法
    转:requirejs:让人迷惑的路径解析(~~不错)
    转: requirejs中文api (详细)
    转: 让html5标签在ie8及以下的被正确解析的解决方案
    浏览器对body节点scrollTop解析的差异
    vue全局配置
    vue watch 深度监听以及立即监听
    Vue插件
  • 原文地址:https://www.cnblogs.com/fang--/p/6180887.html
Copyright © 2020-2023  润新知