java中数组的总结

java中数组的总结

1.数组的基本用法

1.1 什么是数组
数组本质上就是能让我们能批量穿件相同类型的变量或者说是相同类型数据的集合。
注意:java中的数组所包含的变量必须是相同的类型。
1.2 创建数组(一维数组)
  //静态初始化
数据类型[ ] 数据名称= new 数据类型 [ ] {初始化数据}
//动态初始化
数据类型[ ] 数据名称= {初始化数据}
代码示例;
int[] arr = new int [ ] {1, 2, 3};
int[] arr = {1, 2, 3};
1.3 数组的使用
代码示例:
获取数组的长度和访问元素;
int[] arr = {1, 2, 3};
// 获取数组长度
System.out.println("length: " + arr.length); // 执行结果: length:3
// 访问数组中的元素
System.out.println(arr[1]); // 执行结果: 2
System.out.println(arr[0]); // 执行结果: 1
arr[2] = 100;
System.out.println(arr[2]); //执行结果:100
注意事项:
1.使用【】操作既能读取数据,也能修改数据。
2.下标的访问操作不能超出有效范围【0,length-1】,如果超出范围会出现越界异常。
1.3 数据的遍历
所谓 “遍历” 是指将数组中的所有元素都访问一遍, 不重不漏. 通常需要搭配循环语句.通常数组的遍历有三种方式:for()循环来遍历数组,foreach 来遍历数组,Array.toString 来遍历数组.
代码示例如下:
java中数组的总结运行结果为:234 234 【1,2,3】

2.数组作为方法的参数

2.1 基本方法
 代码示例:打印数组类型
 java中数组的总结
 最终的运行结果为: 123
 2.2 引用类型
 代码1:参数传内置类型
 java中数组的总结
 最终的运行的结果为:x=10 num=0
 
 注意:X值的改变并不影响num的值。X与num分别开辟一段内存空间,当将num的值传给X时,X与num的值相同,经过赋值语句后将X的值改为10。
 代码2:参数传数据类型
 java中数组的总结
 最终的运行结果为:a[0]=50 arr[0]=50
 注意:在函数内部修改数组的内容,函数的外部也发生改变。此时数组名arr是一个‘引用’,当传参的时候,是按照引用来传参的。
 2.3 JVM(java虚拟机)内存区域划分
 JVM的内存被划分成了几个区域,如图所示:
 java中数组的总结
 程序计数器 (PC Register): 只是一个很小的空间, 保存下一条执行的指令的地址.
 虚拟机栈(JVM Stack): 重点是存储局部变量表(当然也有其他信息).
 本地方法栈(Native Method Stack): 本地方法栈与虚拟机栈的作用类似. 只不过保存的内容是Native方法的局部变量. 在有些版本的 JVM 实现中(例如HotSpot), 本地方法栈和虚拟机栈是一起的.
 堆(Heap): JVM所管理的最大内存区域. 使用 new 创建的对象都是在堆上保存
 方法区(Method Area): 用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据.方法编译出的的字节码就是保存在这个区域.
 运行时常量池(Runtime Constant Pool): 是方法区的一部分, 存放字面量与符号引用.
 2.2 二维数组
  2.2.1 创建数组
  //静态初始化
  数据类型[] [] 数据名称= new 数据类型 [] [] {初始化数据}
  // 动态初始化
  数据类型[ ] [ ] 数据名称= {初始化数据}
   代码示例:
java中数组的总结
二维数组的应用和一维数组类似。