JavaSE-4.1【IDEA;数组的定义、动态初始化、内存分配】 1package day4; 2
3/**
4 * @author : haifei
豪杰超级解霸30005 *
6 * IDEA、数组定义、动态初始化、内存分配
7 *
8*/
9
10public class Demo1_0520 {
11public static void main(String[] args) {
12/*
13 IDEA快速⽣成语句:
14 main函数=psvm+回车
15输出语句=sout+回车
16 IDEA快捷键:
17 Ctrl+/ 单⾏注释
18选中代码Ctrl+Shift+/ 多⾏注释
19 Ctrl+Alt+L 格式化代码
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//数组初始化之动态初始化
伯克纳48int[] 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//多个数组指向相同内存
99int[] arr1 = new int[1];
100 arr1[0] = 100;
101 System.out.println(arr1);
102 System.out.println(arr1[0]); //100
103int[] 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 }