Java基础——数组

数组是一种线性结构的数据结构。线性结构在内存中是连续 的。

数组特点 :连续 ,每个元素都有下标 ,可以快速查找 ,但是从中间添加,删除就比较麻烦

数组是相同数据类型元素的集合

数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。

1. 声明

数组的声明的两种方式:

  1. 数据类型 [] 数组名字 例如:

    int [] a;
    
  2. 数据类型 数组的名字 [] 例如:

    int a[];
    

注意:

在Java语言中两种声明方法没有任何区别,但是建议大家用第一种,可以把数据类型和变量名分开。

2. 创建

数组创建的三种方式:

  1. 声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值
 int[] ary = new int[10];
  1. 声明数组并分配内存,同时将其初始化
  int[] ary = new int[]{1, 2, 3, 4, 5};
  1. 与前一种方式相同,仅仅只是语法相对简略
  int[] ary = {1, 2, 3, 4, 5};

从另一个角度,数组创建可以分为动态和静态两种

动态创建数组(没有为元素赋值,可以结合for循环进行赋值)

char[]  chAry = new char[10];

静态创建数组,在创建的时候,即为每个元素赋初值

int[] ary1 = new int[]{1, 2, 3, 4, 5};

数组的长度:length属性

int [] b1 = new int []{1,2,3,4,5,6,7};

System.out.println(b1.length);//输出7

注意:

Java中数组在创建时,必须给其指定长度
Java中的数组长度一旦给定,就不能改变了

3.访问

数组元素的访问:

  1. 数组名字[索引]

    int [] b1 = new int []{1,2,3,4,5,6,7};
    
    System.out.println(b1[2]);//输出3
    

注意:

  1. 数组的索引从0开始。
  2. 索引的数据类型是整型
  3. 索引最大值比数组长度小1

4.迭代

数组迭代的两种方式:

1. for循环

int [] b1 = new int []{1,2,3,4,5,6,7};

for(int i =0;i<b1.length;i++){

  System.out.println(b1[i]);

}

输出如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aCsqrOUf-1622450157384)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\1622093576918.png)]

2.增强for循环

//增强for循环的基本格式
for(数组元素的类型  临时变量名 :数组的名字){

//执行语句

}
int [] b1 = new int []{1,2,3,4,5,6,7};

for(int x:b1){    
    
    System.out.println(x);
    
}

输出与上面的for循环相同

5.二维数组

1. 定义

二维数组就是指数组里面的元素也是数组,

数组的数组—二维数组的每一个元素是一个一维数组

int [][]a = {{1,2,3},{1,2,3},{1,2,3}};

2.声明

int [][] a;//建议使用这种,可以把数组类型和变量名分开

int a[][];

3.创建

数组创建

int [][]a = new int[][]{{1,2,3},{1,2,3},{1,2,3}};

int [] [] b  = {{1,2,3},{1,2,3},{1,2,3}};

int [][] c = new int[3][5];
//定义了一个整型的二维数组 ,这个二维数组有3个一维数组,每一个一维数组包含5个元素.

4.迭代

int [][] b1 = new int [][]{{1,2},{3,4}};

for(int i =0;i<b1.length;i++){//循环外部数组  i=0时内层循环{1,2}   i=1时到{3,4}

   for(int j =0;j<b1[i].length;j++){  //循环内部数组  

         System.out.print(b1[i][j]);

   }

}

输出:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZxlDa9Nt-1622450157386)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\1622094322857.png)]

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值