老莫的笔记本  
  
查看: 1014|回复: 0

JAVA 笔记4 数组

[复制链接]

662

主题

878

帖子

5139

积分

超级版主

Rank: 8Rank: 8

积分
5139
发表于 2020-4-20 22:48:58 | 显示全部楼层 |阅读模式
1.java数组的定义格式:
        格式1:
                数据类型[] 变量名;         
                例如:int[] arr;
                        解:定义里一个int类型的数组,数组名为arr ;
                       
        格式2:
                数据类型 变量名[];
                例如: int arr[];
                        解: 定义了一个int 类型的变量,变量名为arr 数组;
                       
                       
2.数组动态初始化;
        例如: int[] arr = new int[3];
                解:
                        左边:
                                int :说明数组中的元素类型是int 类型;
                                []  : 说明这是一个数组
                                arr : 这是数组的名称;
                               
                        右边:
                                new: 为数组申请内存空间;
                                int: 说明数组中的元素类型是int 类型;
                                [] : 说明这是一个数组;
                                3  : 数组长度为3; 其实就是数组中的元素个数
               
        备注:数组在初始化时,回味储存空间添加默认值:
                整数:0
                浮点数:0.0
                布尔值: false
                字符: 空字符
                引用数据类型: 默认值是null
               
                所以 直接输出案例 arr[2] 是有值的  是 0 ;
                               
                               
                               
                               
                               
3. Java 的 内容分配:
        int[] arr = new int[3];
        这里内存分配这么理解:
                new 是创建一个内容空间; 空间长度是3 存储int 类型;
                 左侧是一个变量, arr 为变量名 该变量指向 右侧的储存空间;
                 
        左侧: 栈内存 - 存储局部变量;
                        使用完毕后会立即消失;
       
        右侧:堆内存 - 存储new出来的内容(实体,对象);
                        每一个new 出来的东西都有一个地址值,使用完毕会在垃圾回收器空闲时被回收。
                       
                       
4.关于内存分配的一个点:
       
        int[] arr = new int[3];
        int[] arr2 = arr;  
               
                这个知识点是这样的: arr2 指示在栈内存中增加类一个变量 同样指到arr的堆内存 。并没有新增堆内存。
                所以 当任意一个栈内存 修改了堆内存, 另外的栈内存去访问堆内存得到的 数据值一定是改变过了的,毕竟是一个内存;

                               
5.数组静态初始化:
        5.1 写法 :数据类型[] 变量名 = new 数据类型[]{'数据1','数据2','数据3'};
                         
                         例如:int[] arr = new int[]{
                                 数据1,数据2,数据3
                         };
                         备注: 右侧int[]的中括号中 不可以写长度;
               
                简化写法: 数据类型[] 变量名 = {数据1,数据2,数据3}
                                       
                         例如: int[] arr = {数据1,数据2,数据3}
                               
                               
                               
               

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表