java 温故知新 第四天

数组:为系统开辟连续内存空间

动态初始化 只指定长度,由系统给初始化值

格式:type [] name = new type[length]
整形:byte,short,int,long--初始值为0
浮点:float,double--初始值为0.0
布尔:boolean--初始值为false
字符:char--初始化值为'\u0000'每一位都是十六进制

静态初始化 给出初始化值,由系统决定长度

格式:type [] name = new type [] {a,b,c};可先声明再赋值
type [] name = {a,b,c}; 声明与赋值必须同事进行
type [] name = {a,b,c}的存储过程
1)在栈内存中开辟一个空间存name
2)在对内存中开辟三个空间,每个空间给个初始化值
3)数组内容重新给值
4)栈内存存放堆内存地址

常见实例:

取最值,
反转,
查表法,
元素查找

二维数组

  • 格式: type [] [] name = new type [row] [col];
    解释: 定义 一个二维数组,里面包含row个一位数组,每个一维数组有col个空间
  • 格式:type [] [] name = new type [row] []; 声明了二维数组
    type[] name2 = new type[col] 对二维数组中的一维数组初始化
  • 格式:type [] [] name = {{1,2,3},{4,5},{6,7,8,9}}
    这种定义方式一维数组的长度可控
  • 二维数组内存图:

只有二维数组的引用在栈内存里面,已为数组的引用在堆内存里面

52525.png

值传递问题:

  • 基本数据类型:基本数据类型里面存放的是值,这个值的变化跟那个值的变化没有联系,所以不会改变原值。
  • 引用数据类型:引用数据类型里面存放的是地址,引用的是同一个地址,对这个地址里的对象的操作,会保留下来,所以会改变原值。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容