数组是一种数据结构,用来存储同一类型值的集合
int[] a = new int[10];
数字数组,初始化时全部为0 boolean 为false 对象数组和字符数组为null
a.length 表示数组的长度
for each 循环
遍历数组
for(int element:a)
System.out.println(element);
int[] a = new int [10];
for(int i=0;i<10;i++)
{
a[i]=i;
}
System.out.println(Arrays.toString(a)); //[0,1,2,3,4,5,6,7,8,9]
数组初始化以及匿名数组:
int[] smallPrimes = {1,2,3,4,5,6}; //创建数组对象同时初始化
new int[] {1,2,3,4,5,6} //初始化匿名数组
有长度为0的数组,并且和null 不同
数组拷贝:
int[] luckyNumbers = smallPrimes;
luckyNumbers[5]=12; //这个时候两个数组的第六位都是12;
如果希望将一个数组中的所有值拷贝到另一个数组中去,就要使用Arrays类的copyOf方法
int[] copiedluckyNumbers = arrays.copyOf(luckyNumbers,luckyNumbers.length); //第二个是新数组的长度
用来增加数组的大小:luckyNumbers = Arrays.copyOf(luckyNumbers,2*luckyNumbers.length); //如果之后的数组小,只能留下前面的数值
命令行参数:
不会
数组排序:
Arrays类中的sort方法:
int[] a = new int [10000]
...
Arrays.sort(a) //这个方法使用了优化的快速排序算法
多维数组:
int [] [] balances = new int [10][10];
int [] [] magicSquare =
{
{16,3,2,13},
{5,10,11,8},
{9,6,7,12},
{4,15,14,1}
}
不规则数组:
package test;
import java.lang.reflect.Array;import java.math.*;import java.util.Arrays;public class test
{ public static void main(String[] args) { test a = new test(); a.irregular(); }void irregular()
{ int [][] arrays = new int [3][]; arrays[0] = new int[2]; arrays[1] = new int[3]; arrays[2] = new int[4]; for(int i=0;i<Array.getLength(arrays);i++) //输入数据 { for(int j=0;j<arrays[i].length;j++) arrays[i][j] = i+j*2; } for(int i=0; i<arrays.length;i++) //for循环输出 for(int j=0;j<arrays[i].length;j++) System.out.print(arrays[i][j]+" "); System.out.println(); for(int []row: arrays) //foreach输出 for(int col:row) System.out.print(" "+col+","); System.out.println(); }}