数组
概念
- 数组是相同类型数据的有序集合
- 数组描述的是相同类型的诺干个数据,按照一定的先后次序排列组合而成
- 其中,每一个数据称为一个数组元素,每个数组元素可以通过一个下标来访问他们
数组声明的创建
-
首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法:
dataType[] arrayReVar;//首选方法 Java中使用 dataType arrayReVar[];//C和C++中常使用
-
Java语言使用new操作符来创建数组,语法如下:
dataType[] arrayReVar = new dataType [arraySize];
public static void main(String[] args) { int [] nums;//java语言常用写法 // int nums2[];//C和C++常用写法 nums=new int[10]; // int [] nums=new int[10];完整的创建方式 nums[1]=1; nums[2]=2; nums[3]=3; nums[4]=4; nums[5]=5; nums[6]=6; nums[7]=7; nums[8]=8; nums[9]=9; nums[0]=10; //计算所有元素的和 int sum=0; //获得数组长度:array.length for (int i = 0; i < nums.length; i++) { sum=sum+nums[i]; } System.out.println("总和为:"+sum); }
内存分析
创建了数组才会分配空间,赋值后才能数值,否则都是默认值
//静态初始化:创建+赋值
int[] a={1,2,3,4,5,6,7,8};
System.out.println(a[0]);
// Man[] mans={new Man(1,1),new Man(2,2)};
//动态初始化:包含默认初始化
int[] b= new int[10];//声明和创建数组
b[0]=10;
b[1]=20;
System.out.println(b[0]);//10
System.out.println(b[1]);//20
System.out.println(b[2]);//0 默认值
System.out.println(b[3]);//0
数组的四个基本特点
- 数组的长度是确定的。数组一旦被创建,它的大小九四hi不可以改变的
- 数组元素必须是相同类型,不允许出现混合类型
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型
- 数组变量属于引用类型,数组也可以看成对象,数组中的,每个元素相当于该对象的成员变量,数组本身就是对象,Java中对象是在堆中,因此数组物理保存原始类型还是其他对象类型,数组对象本身是在堆中
数组的下标的越界[0,length-1]
数组的使用
-
普通的For循环
-
For-Each
public static void main(String[] args) { int[] arrays ={1,2,3,4,5}; for (int array : arrays) { //for-each;arrays是代表数组,array是数组中的每一个元素;不使用下标增强型 System.out.println(array); } }
-
数组作方法入参
public static void Printarray(int[] arrays){ for (int i = 0; i < arrays.length; i++) { System.out.print(arrays[i]+" "); } }
-
数组作返回值
//反转数组 public static int[] reverse(int [] arrays){ int[] result =new int[arrays.length]; for (int i = 0,j= arrays.length-1;i <arrays.length ; i++,j--) { result[j]=arrays[i]; } return result; }