1.数组的动态初始化: int[] arr = new int[3];
2.数组的静态初始化: int[] arr = new int[]{1,2,3,4,5};
3.静态初始化的省略格式: int[] arr = {1,2,3,4,5};
4.标准格式可以拆分成两个步骤: int[] arr; arr=new int[]{1,2,3}
5.直接打印数组名称,得到的是数组对应的:内存地址哈希值,简称地址值.("[I@75412csf"左到右:它是数组,他是int类型,@,它的地址值)
6.java的内存划分成5个部分:
栈(Stack): 存放的都是方法中的局部变量.方法的运行一定要在栈当中.
局部变量:方法的参数,或是方法{}内的变量
作用域:一旦超过作用域立刻从栈内存中消失
堆(Heap):凡是new出来的东西都在堆当中.
堆内存里的东西都有一个地址值:16进制
堆内存里的数据都有一个默认值.规则:
整数默认为0--浮点数默认为0.0--字符默认为'\u0000'--布尔为false--引用类型为null
在栈内存中运行的方法,遵循"先进后出,后进先出"的原则。
方法区(Method Area):存储.class相关信息,包含方法的信息.(叫什么名字,返回值是什么,参数是什么)
本地方法栈(Native Method Stack):与操作系统相关
寄存器(pc Register):与cpu相关
7.数组长度在程序运行期间不可发生改变:数组指的是堆中new出来的东西,new出来就不可变.而arr只是名字