java基础知识--数组

数组的概念:存储相同数据类型数据且长度固定的容器(声明一个数组就是在内存空间中划出一连串相同数据类型的空间)

  ==》内存概述:内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。

  • 格式一: 数据类型[]  数组名 = new  数据类型[长度];
  • 格式二: 数据类型[]  数组名 = new  数据类型[]{元素1,元素2,元素3...};
  • 格式三: 数据类型[]  数组名 = {元素1,元素2,元素3...};
  • 数组定义格式详解:
  1. 数组存储的数据类型:创建的数组容器可以存储什么数据类型。
  2. []表示数组。
  3. 数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
  4. new:关键字,创建数组使用的关键字。
  5. {元素1,元素2,元素3...}:具体的数据元素。
  6. [长度]:数组的长度,表示数组容器中可以存储多少个元素。
  7. 注意:数组有定长特性,长度一旦指定,不可更改。

数组的索引(index):每一个存储到数组的元素,都会拥有一个编号(下标),这个编号(下标)称之为数组索引。索引从0开始,可以通过数组的索引访问到数组中的元素(数组名[索引])。

length属性:获取数组的长度(数组名.length

方法的参数为基本类型时,传递的是数据值.方法的参数为引用类型时,传递的是地址值.


 扩展:Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

  • JVM的内存划分:
  1. 寄存器(pc Register):给CPU使用,与CPU相关。
  2. 本地方法栈(Native Method Stack):与操作系统相关。(与虚拟机栈所发挥的作用很相似,区别在于虚拟机栈为执行java代码方法服务,而本地方法栈为Native方法服务。)
  3. 方法区(Method Area)∶存储运行.class相关信息,包含方法的信息。
  4. 堆内存(Heap):存储对象或者数组,new来创建的,都存储在堆内存。(被所有线程共享的一块区域,在虚拟机启动时创建。)

      堆内存里面的东西都有一个16进制表示的地址值。
      堆内存里面的数据,都有默认值。规则:
      如果是整数         默认为0
      如果是浮点数        默认为0.0
      如果是字符         默认为'uoooo'
      如果是布尔         默认为false
      如果是引用类型       默认为null

  5.  栈(Stack)∶存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。(执行引擎每调用一个函数时,就为这个函数创建一个栈帧,并加入到虚拟机栈,方法执行完成后,栈帧出栈。)
      局部变量: 方法的参数,或者是方法0内部的变量
      作用域: —旦超出作用域,立刻从栈内存当中消失。

原文地址:https://www.cnblogs.com/sun9/p/13352971.html