数组
数组的概念
概念:数组是一个容器,可以同时存放多个数据值
特点:
- 数组是一个引用数据类型
- 数组中多个数据的类型必须统一
- 数组的长度在定义时规定,运行过程中不可改变。
数组的定义
数组的初始化:在内存当中创建一个数组, 并且向其中赋予一些默认值。
两种常见的初始化方式: .
- 动态初始化(指定长度)
- 静态初始化(指定内容)
动态初始化数组
动态初始化数组的格式:
数据类型[] 数组名称= new数据类型[数组长度];
解析含义:
左侧数据类型:也就是数组当中保存的数据,全都是统-的类型, int , float, double…
左侧的中括号:代表我是一个数组
左侧数组名称:给数组取一个名字
右侧的new:代表创建数组的动作
右侧数据类型:必须和左边的数据类型保持一致
右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字
动态初始化代码示例:
int[] arrayA=new int[300];
double[] arrayB=new double[100];
String[] arrayC=new String[5];
动态初始化定义的数组里的元素会有一个与定义的数据类型相同的默认值。
静态初始化数组
在创建数组的时候,不指定数组个数的多少,而是直接指定具体的数据内容。
静态初始化数组的长度有指定内容的多少决定。
静态初始化基本格式
数组类型[] 数组名称 = new 数组类型[] {元素1,元素2,元素3…}
int[] arrayD = new int[] {5,6,4,7,8,9};
String[] arrayE = new String[] {"Hello","World","java"};
定义数组的省略格式
直接看代码,如下:
//省略格式的静态初始化
int[] arrayF = { 10,20,30 };
//静态初始化的标准格式,可以拆分成为两个步骤
int[] arrayG;
arrayG = new int[] { 11, 21, 31 };
//动态初始化也可以拆分成为两个步骤
int[] arrayH;
arrayH = new int[5] ;
静态初始化数组的省略格式不能分成两部。
访问数组元素
访问数组元素的格式:
数组名称[索引值]
索引值:就是一个int数字,代表数组当中元素的编号。
[注意]索引值从开始,一直到“数组的长度-1”为止。
看代码:
System.out.println(arrayD[1]);
System.out.println(arrayE); //输出数组存放的地址名
System.out.println(arrayE[2]);
System.out.println(arrayE[1]);
获取数组长度
数组名称.length 即可获取
int[] array0= {10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,};
int num=array0.length;
System.out.println(num);
遍历数组
用 for循环和length来遍历数组,代码如下:
int[] array1= {10,20,30,40,50,60,70};
for(int i=0;i<array1.length;i++) {
System.out.println(array1[i]);
}
数组反转
将数组里面处于对称位置的元素交换位置,代码如下:
int[] array2= {11,22,35,64,89,74,52,11};
for(int min=0,max=array2.length-1;min<max;min++,max--) {
int temp=array2[min];
array2[min]=array2[max];
array2[max]=temp;
}
数组作为方法返回值
代码如下:
public class arryfirst {
public static void main(String[] args) {
int[] result = calculate(10,20,30);
System.out.println(result[0]);
System.out.println(result[1]);
public static int[] calculate(int a,int b, int c) {
int sum=a+b+c;
int avg=sum/3;
int[] arraya= {sum,avg};
return arraya;
}
}
——————————————————————