数组的使用

一维数组:定义数组时不能指定数组长度,譬如int a[5]是不对的。初始化和定义可以一起,比如int a[]=new int[5],除了常规的赋值外,还可以即时赋值,有静态和动态初始化之分,静态int arrayName=new int[]{1,2,3,4};

动态,简化的静态初始化则为int arrayName[]={1,2,3,4,5};动态int a=new int[]{1,2,3},int a[]=new int[5];然后系统单个赋值。


二维数组:可以先定义(此时同样不能指定长度),然后初始化,也可以同时进行int b=new int[4][](最少指定左边维数的长度,也可以两者都指定),然后用b.length访问一级(我自己定义的名字)数组的长度,在这里结果是4,如果执行a[0]=new int[6],执行a[0].length才可以输出长度6,所以用for为二维数组的赋值容易得到。同样可以用静态初始化String [][]s=new String[][]{new String[3],newString[]{"hello"}};也可以String[][]s2={new String[3],newString[]{"hello"}}执行完代码后为

  . .|口--->口口口(里面元素值为null)

s---->|口---->口元素值为hello

其实两者一样定义时不能声明长度,初始化时可以有长度。二维的话可以初始化的时候只声明左边的值,静态的话就是两边括号为空,右边花括号赋值就好,二维花括号里面还可以有花括号比如int a[][]={{1,2,3},{4,5,6}}则a[0][0]为1,a[1][1]为5.动态可以声明全部长度,然后一一赋值,二维还可以不指定两边值。

//定义二维数组写法1  

class numthree
{
public static void main(String[] args)
{
float[][] numthree;             //定义一个float类型的2维数组
numthree=new float[5][5];       //为它分配5行5列的空间大小
numthree[0][0]=1.1f;            //通过下标索引去访问     1行1列=1.1
numthree[1][0]=1.2f;                                  // 2行1列=1.2
numthree[2][0]=1.3f;                                  // 3行1列=1.3
numthree[3][0]=1.4f;                                  // 4行1列=1.4
numthree[4][0]=1.5f;                                  // 5行1列=1.5
}
}

//定义二维数组写法2   定义的同时分配空间大小
class numfour
{
public static void main(String[] args)
{
   short[][] numfour=new short[5][8]; //定义一个short类型的数组同时为它分配5行8列的空间大小
   numfour[0][7]=10;
   numfour[1][6]=20;
   numfour[2][5]=30;
   numfour[3][4]=40;
   numfour[4][3]=50;

}
}


//定义二维数组写法3        不规则数组
class numfive
{
public static void main(String[] args)
{
long[][] numfive=new long[5][];     //定义一个long类型的不规则数组
numfive[0]=new long[5];             //为第1行分配5列
numfive[1]=new long[6];             //为第2行分配6列
numfive[2]=new long[7];             //为第3行分配7列
numfive[3]=new long[8];             //为第4行分配8列
numfive[4]=new long[9];             //为第5行分配9列

numfive[0][4]=10000000000L;         //1行5列=10000000000
numfive[1][5]=20000000000L;         //2行6列=20000000000
numfive[2][6]=30000000000L;         //3行7列=30000000000
numfive[3][7]=40000000000L;         //4行8列=40000000000
numfive[4][8]=50000000000L;         //5行9列=50000000000

System.out.println(numfive[0][4]); //打印换行输出喽
System.out.println(numfive[1][5]);
System.out.println(numfive[2][6]);
System.out.println(numfive[3][7]);
System.out.println(numfive[4][8]);
System.out.println(numfive[4][7]); //打印输出一个没有定义数组元素的数组 java会自动将他初始化值为0
}
}


//定义2维数组写法4    定义的同时赋初始值
class numsix
{
public static void main(String[] args)
{
double[][] numsix={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};//定义double型的数组分配2行3列的空间同时赋值
System.out.println(numsix[0][0]); //打印换行输出1行1列=1.111
System.out.println(numsix[1][1]); //打印换行输出2行2列=5.555
}
}


//定义2维数组写法5   定义不规则的2维数组同时赋初始值
class numseven
{
public static void main(String[] args)
{
int[][] numseven=new int[][]{{10,20,30},{40,50},{60}};
System.out.println(numseven[0][2]);
System.out.println(numseven[1][1]);
System.out.println(numseven[0][0]);
}
}

//定义2维数组写法6 定义不规则的2维数组同时赋初始值;
class numeight
{
public static void main(String[] args)
{
int[][] numeight={{100,200,300,400},{500,600,700,800},{900,1000,1100,1200,1300}};
System.out.println(numeight[0][2]);
System.out.println(numeight[1][2]);
System.out.println(numeight[2][1]);
}
}

 


 .


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值