初识数组(java)

一、数组的一些概念

1、定义

数组(Array)是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

2、数组的分类

一般有一维数组、二维数组......

2.1.1. 一维数组:可以理解为一列多行、类型相同的数据,其中每个数据被称为数组元素。

2.1.2. 一维数组的声明方式:"数据类型 数组名 [ ] "或“数据类型 [ ] 数组名”。

        例如:

        int age[ ]; int [ ] age;

        说明:数组的长度一旦确定,就不能改变,也就是说数组是定长的。

        java 语言声明数组的时候不能指定其长度(元素的个数),例如:int a[ 5 ]是非法的。

2.2.1. 初始化数组对象:java中的数组必先初始化才可以使用。所谓初始化就是为数组的数组元素分配内存,并为每个数组元素赋值。

         数组初始化的两种方式:

         ①静态初始化,初始化时指定每个元素的初始值,由系统决定需要的数组长度。

          格式

          数据类型 数组名 =new 数组类型 [  ] {元素1,元素2,元素3,元素4......,元素n };

          简化语法

          数据类型 数组名= {元素1,元素2,元素3,......,元素n };

          ②动态初始化,初始化时指定每个数组元素的初始值,由系统决定需要的数组长度。

          数据类型 数组名= new 数据类型[ 数组长度 ];

          注意:静态初始化和动态初始化不能同时使用,也就是说不能同时指定数组的长度和元素。

          例如:

//动态初始化

//声明数组及初始化
public class Example 01{

public static void main(String [] args){

int []age =new int[10];
//动态初始化
for (int i=0;i<age.length;i++){
age[i]=i;
System.out.println(age[i]+"  ");

}

}

}

或者//静态初始化 

public class{
public static void main(String [] args){

int []age =new int[]{0,1,2,3,4,5,6,7,8,9};
//动态初始化
for (int i=0;i<age.length;i++){
age[i]=i;
System.out.println(age[i]+"  ");

}

}

}

输出结果为

 

2.2.1.二维数组:二维数组可以简单理解为在数组中又存储了数组。

         ①两种初始化形式

         动态初始化,格式如下:

         数据类型 数组名[  ][  ]=new 数据类型[ m ][ n ];

         数据类型[  ] [  ]  数组名= new 数据类型[ m ] [ n ];

         数据类型[   ] 数组名[ ]=new 数据类型[ m ][ n ];

         例如:

         int [  ][  ]  arr=new int[  5 ][ 3 ];

         静态初始化,格式如下:

         数据类型[    ][    ]  数组名={{元素1,元素2,...},{元素1,元素2,...},{元素1,元素2,...},...};

          例如:int[][] arr ={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},};

          ②二维数组的初始化的使用

          静态初始化的使用,例如:

         

public static void main(String[]args){
	int [][]arr=new int[][]{{4,5,6,8},{2,3},{1,6,9}};
	System.out.println(arr.length);//输出行列
		System.out.println(arr[0].length);//输出列数

}

        动态初始化的使用,例如:

  

public static void main(String[]args){
    int[][]arr=new int[][]{{4,5,6},{2,3,9}};
    int[][]arrtrans=new int[arr[0].length][arr.length];
    for(int i=0;i<arr.length;i++){
    for (int j=0;j<arr[0].length;j++){
    arrtrans[j][i]=arr[i][j];

}

}

    for(int i=0;i<arrtrans.length;i++){
    for(int j=0;j<arrtrans[0].length;j++){
    System.out.print(arrtrans[i][j]);

}

    System.out.println();
	}
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

意Apr-hy25

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值