数组是容器,可存多个数据。
数组格式
1.动态初始化 (指定长度)
数据类型[]数组名称 = new 数据类型[数组长度]
public static void main(String[] args)
{
int[] arrayA = new int[3]; // 放300个数据,动态初始化
arrayA[1] = 123; //将123数值赋值到arraryA当中的1号元素
System.out.println(arrayD[0]);
System.out.println(arrayA[1]);
System.out.println(arrayD[2]); //对应上述的3个位置
}
2.静态初始化(指定内容)
数据类型[]数组名称 = new 数据类型[]{元素1,元素2};
省略格式:数据类型[]数组名称 = {元素1,元素2};
public static void main(String[] args)
{
int[] arrayB = new int[] { 5, 15, 25 }; // 静态初始化
int[] arrayD = { 5, 15, 25 }; // 静态初始化省略格式
System.out.println(arrayD[0]); // 打印数组D的 第一个数
System.out.println(arrayD[1]); // 打印数组D的 第二个数
System.out.println(arrayD[2]); // 打印数组D的 第三个数
int num = arrayD[1]; // 用数组中的数给变量赋值
System.out.println(arrayD[1]);
}
动态初始化
获取数组中的长度
public static void main(String[] args)
{
int[] arrayB = new int[] { 5, 15, 25,6,7,8,9,11,12,55 };
int len = arrayB.length; //获取数组长度,数组B赋值到len,加length关键字
System.out.println(len);
}
遍历数组
数组中的每一个元素进行逐一打印输出
public static void main(String[] args)
{
int[] arrayB = new int[] { 5, 15, 25, 6, 7, 9, 88 };
System.out.println(arrayB[0]);
System.out.println(arrayB[1]);
System.out.println("==================");
// 可以确定数组长度
for (int i = 0; i < 5; i++)
{
System.out.println(arrayB[i]);
}
System.out.println("==================");
}
获取数组最大(小)值
public static void main(String[] args)
{
int[] array = new int[] { 5, 15, 25, 6, 7, 9, 88 };
int max = array[0]; //第一个元素5先无条件赋值给max
for (int i = 1; i < array.length; i++) //i不可为0,0号元素自己对比不合理
{
if (array[i] > max) //如当前元素比max大,则替换为当前元素
{
max = array[i];
}
}
System.out.println(max); //最大值88
}
数组倒序遍历
指元素1,2,3,4,5 反转 5,4,3,2,1 即位置颠倒
案例:
先写循环语句:
public class aiii
{
public static void main(String[] args)
{
int[] array = new int[] { 5, 15, 25, 6, 7 };
// n-1 ,n-2 ,n-3 ,0
// 4,3,2,1,0
//array.length指的最后一个元素位置
for (int i = array.length - 1; i >= 0; i--)
{
System.out.println(array[i]);
}
}
}
多次调用数组
数组可作为方法参数
public static void main(String[] args)
{
int[] array = new int[] { 5, 15, 25, 6, 7, 9, 88 };
printArray(array);
System.out.println("======AAAA======");
printArray(array);
System.out.println("======BBB======");
}
public static void printArray(int[] array)
{
for (int i = 1; i < array.length; i++)
{
System.out.println(array[i]);
}
}
数组扩容
public class aiii
{
public static void main(String[] args)
{
int[] a = new int[] { 5, 15, 25, 6, 7 };
int[] b = new int[] { a.length + 1};
for (int i = 0; i <= a.length; i ++)
{
b[i] = a[i]; //把a的5个值复制到b
}
b[b.length-1] = 33;
}
}