数组
- 最简单的数据结构
数组的概述
- 数组是相同数据类型的有序集合。
- 数组猫叔的是相同类型的若干个数据,按照一定的先后次序排列组合而成。
- 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。
数组的声明和创建
-
首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法:
int[] nums;// 1.定义数组(声明一个数组但并没有创建空间),java中正规的定义数组方法 或 int nums2[]; // 为了使c和c++程序员更快掌握java才有的这种定义方法
-
Java语言使用new操作符来创建数组,语法如下:
dateType[] arrayRefVar = new dateType[arraySize];
-
数组元素是通过索引访问的,数组索引是从0开始的
-
获取数组长度
arrays.length
-
笔记
package com.yuecheng.Array; public class ArrayDemo01 { // 变量的类型 变量名 = 变量值; //数组类型 public static void main(String[] args) { int[] nums;// 1.定义数组(声明一个数组但并没有创建空间),java中正规的定义数组方法 int nums2[]; // 为了使c和c++程序员更快掌握java才有的这种定义方法 nums = new int[10];// 2.(创建一个数组)这里面可以存放十个int类型的数字,注意数组是从0开始计数的,数组最后一个不能存放,所以是下标是0~9; //简单来说 ,平时我们只能一个个定义,用到数组,就相当于我们有了一个箱子,可以集体定义。 // 高端定义数组法 int[] nums2 = new int[10]; //3.给数组元素赋值 nums[0]=1; nums[1]=3; nums[2]=5; nums[3]=9; nums[4]=9; nums[5]=9; nums[6]=9; nums[7]=9; nums[8]=9; nums[9]=9; //如果没有赋值则输出int类型默认值0; //计算所有元素的和 int sum= 0; for(int i = 0; i<nums.length;i++){ sum = sum+nums[i]; } System.out.println("总和为"+sum); } }
三种初始化及内存的分析
java内存
- 堆:1.存放new对象和数组2.可以被所有的线程共享不会存放别的对象引用。
- 栈:1.存放基本变量类型(会包含这个基本类型的具体数值)2.引用对象的变量(会存放这个引用在堆中的具体地址)
- 方法区:1.可以被所有的线程共享2.包含了所有的class和static变量.
自我理解:创建对象在栈里,实例化在堆里。
-
数组的默认初始化:数组是引用类型,他的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
package com.yuecheng.Array; public class ArrayDemo02 { public static void main(String[] args) { //静态初始化:创建+赋值 int [] nums={1,2,3,4,5}; //动态初始化: int[] b= new int[10]; b[0]=10;//当不给数组赋值时,输出的是默认值,int型的话默认值是0; System.out.println(b[0]); } }