JavaSE-4.1【IDEA;数组的定义、动态初始化、内存分配】

  1 package day4;
  2 
  3 /**
  4  * @author : haifei
  5  *
  6  * IDEA、数组定义、动态初始化、内存分配
  7  *
  8  */
  9 
 10 public class Demo1_0520 {
 11     public static void main(String[] args) {
 12         /*
 13           IDEA快速生成语句:
 14                main函数=psvm+回车
 15                输出语句=sout+回车
 16           IDEA快捷键:
 17                Ctrl+/ 单行注释
 18                选中代码Ctrl+Shift+/  多行注释
 19                Ctrl+Alt+L 格式化代码
 20                Ctrl+Y 删除光标所在行
 21                Ctrl+D 复制光标所在行的内容,插入光标位置下面
 22                Alt+Shift+上下箭头移动当前代码行
 23         */
 24 
 25         /*
 26         数组通常存储同类型数据
 27 
 28         数组定义方式
 29             1、定义指定类型的数组:arr(推荐这种方式,可读性更好)
 30                 int[] arr;
 31                 double[] arr;
 32                 char[] arr;
 33 
 34             2、定义指定类型的变量:arr[]
 35                 int arr[];
 36                 double arr[];
 37                 char arr[];
 38          */
 39 
 40         /*
 41         数组初始化
 42             1、动态初始化
 43                 数组动态初始化就是只给定数组的长度,由系统给出默认初始化值
 44             2、静态初始化
 45          */
 46 
 47         //数组初始化之动态初始化
 48         int[] arr = new int[5];
 49         /*
 50         等号左边:
 51             int:数组的数据类型
 52             []:代表这是一个数组
 53             arr:代表数组的名称
 54         等号右边:
 55             new:为数组开辟内存空间
 56             int:数组的数据类型
 57             []:代表这是一个数组
 58             5:代表数组的长度
 59          */
 60 
 61         //数组变量访问方式:数组名,例如arr
 62         //数组内部所保存数据的访问方式:数组名[索引],例如arr[0]
 63         System.out.println(arr); // [I@4554617c <--- 数组所在地址
 64         System.out.println(arr[0]); // 未赋值时,系统给出默认初始值0
 65         System.out.println(arr[1]);
 66         System.out.println(arr[2]);
 67 
 68         /*
 69         内存分配
 70             1、有关
 71                 堆内存:存储对象或者数组,new来创建的,都存储在堆内存。
 72                 方法栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行。
 73             2、无关
 74                 寄存器:给CPU使用,和我们开发无关。
 75                 本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关。
 76                 方法区:存储可以运行的class文件。
 77 
 78          int[] arr = new int[5];
 79             1、栈内存:
 80                 存储局部变量,使用完立即消失 <--- int[] arr
 81             2、堆内存:
 82                 存储new出来的内容(对象、实体),每一个new出来的内容都有一个地址值,使用完会在垃圾回收器空闲时被回收
 83                 数组初始化,默认值:
 84                     整型-0
 85                     浮点型-0.0
 86                     布尔型-false
 87                     字符型-空字符''
 88                     string等引用类型-null
 89                 <--- new int[5]
 90          */
 91 
 92         arr[0] = 100;
 93         arr[2] = 200;
 94         System.out.println(arr[0]);
 95         System.out.println(arr[1]);
 96         System.out.println(arr[2]);
 97 
 98         //多个数组指向相同内存
 99         int[] arr1 = new int[1];
100         arr1[0] = 100;
101         System.out.println(arr1);
102         System.out.println(arr1[0]); //100
103         int[] arr2 = arr1;
104         arr2[0] = 200;
105         System.out.println(arr1);
106         System.out.println(arr1[0]); //200
107         System.out.println(arr2);
108         System.out.println(arr2[0]); //200
109     }
110 }

 

posted @ 2021-05-21 14:29  yub4by  阅读(172)  评论(0编辑  收藏  举报