(JavaSE)Java数组、内存分析、初始化
数组的定义
- 数组是相同类型数据的有序集合
- 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成
- 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们
数组声明创建
- 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
dataType[] arrayRefVar; //首选方法 或 dataType arrayRefVar[]; //效果相同,但不是首选方法
- Java语言使用new操作符来创建数组,语法如下:
dataType[] arrayRefVar = new dataType[arraySize];
- 数组的元素是通过索引访问的,数组索引从0开始
- 获取数组长度:
arrays.length
package pers.array; public class ArrayDemo01 { //变量的类型 变量的名字 = 变量的值; public static void main(String[] args) { int[] nums1; //1.声明一个数组 int nums2[]; //为了C或者C++程序员适应Java nums1 = new int[10]; //2.创建一个数组 //3.给数组元素赋值 nums1[0]=1; nums1[1]=2; nums1[2]=3; nums1[3]=4; nums1[4]=5; nums1[5]=6; nums1[6]=7; nums1[7]=8; nums1[8]=9; nums1[9]=10; //计算所有元素的和 int sum = 0; for (int i = 0; i < nums1.length; i++) { sum = sum+nums1[i]; } System.out.println("总和为:"+sum); } }
内存分析
-Java内存分析:
- Java内存
- 堆
- 存放new的对象和数组
- 可以被所有的线程共享,不会存放别的对象引用
- 栈
- 存放基本变量类型(会包含这个基本类型的具体数值)
- 引用对象的变量(会存放这个引用在堆里面的具体地址)
- 方法区
- 可以被所有的线程共享
- 包含了所有的class和statk变量
- 堆
三种初始化
- 静态初始化
int[] a={1,2,3} Man[] mans = {new Man(1,1),new Man(2,2)};
- 动态初始化
int[] a = new int[2]; a[0]=1; a[1]=2;
- 数组的默认初始化
- 数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
package pers.array; public class ArrayDemo02 { public static void main(String[] args) { //静态初始化:创建+赋值 int[] a = {1,2,3,4,5,6,7,8}; System.out.println(a[0]); //动态初始化:包含默认初始化 int[] b = new int[10]; b[0] = 10; } }
package pers.array; public class ArrayDemo02 { public static void main(String[] args) { //静态初始化:创建+赋值 int[] a = {1,2,3,4,5,6,7,8}; System.out.println(a[0]); //动态初始化:包含默认初始化 int[] b = new int[10]; b[0] = 10; System.out.println(b[7]); } }
(JavaSE)Java数组、内存分析、初始化
原文地址:https://www.cnblogs.com/ziff/p/14594455.html