认识数组.

数组的定义

1、什么是数组?

数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器
数组既可以存储基本数据类型,也可以存储引用数据类型
数组是一组相关数据的集合,一个数组实际上就是一连串的变量.
数组: 内存空间连续的一块区域,用来存储同一种数据类型的多个元素
重点: 1 连续 同一种数据类型
2 索引: 从0开始
数组的声明
* 1. 格式:

数据类型[]数组名; 数组名其实就是一个变量名

2 定位数组的位置:
数组名[索引] ,比如说第0个元素: 数组名[0]

数组的三种表达方式

第一种: 一般情况下,当我们不知道数据里面有什么内容的时候,我们会先声明一个数组,然后再去赋值

int[] array = new int[5];
   array[0] = 1;
         array[1] = 3;
         array[2] = 5;         
         array[3] = 6;
         array[4] = 7;

第二种

int[] array2 = new int[]{1,3,5,7,9};

第三种, 虽然我们没有明确的指定数组的长度,但是一旦声明了以后,长度就固定了

int[] array3 = {1,3,5,7,9};
array3[5] = 10;

变量
声明一个变量就是在内存空间划出一块空间
数组
声明一个数组就是在内存空间划出一 串连续的相同类型的空间
在这里插入图片描述

数组的遍历

数组的遍历:
1 索引:从0开始,到数组的长度-1结束
2 数据的长度: 数组名.length
3 数组名[索引] 定位数组中的元素

数组常见的错误

1、编译出错,没有写明数组的大小
在这里插入图片描述

2、在这里插入图片描述

3、编译出错,数组越界
在这里插入图片描述
4、编译出错,创建数组并赋值的方式必须在一条语句中完成
在这里插入图片描述

Arrays的使用

工具类: 就是为了方便我们的开发,提供一些常用的方法

int[] ages = {4,2,71,9,5,3,8};

一般在服务器上打印日志的时候,会使用到这个方法

    System.out.println(Arrays.toString(ages));

一般有自然排序的时候,会使用到这个方法

Arrays.sort(ages);
System.out.println(Arrays.toString(ages));

一般在数组扩容的时候,会使用到这个方法

    int[] ints = Arrays.copyOf(ages, 10);

冒泡排序法

/冒泡排序
int num = 0;
for (int i = 0; i < age.length - 1; i++) {
for (int j = 0; j <age.length - 1 - i ; j++) {
if (age[j] > age[j+1]){
num = age[j+1];
age[j+1] = age[j];
age[j] = num;
}
}
}

数组元素的位移

在这里插入图片描述
/数组移位
public static void yiwei1(int []a){
for(int i=1;i<a.length;i++){
int temp=a[0];
a[0]=a[i];
a[i]=temp;
}
}

二维数组

1、什么是二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。
二维数组实际上是一个以一维数组做为元素的一维数组
<数据类型> [ ][ ] 数组名; 或者 <数据类型> 数组名 [ ][ ];
方法一、

int [ ][ ] scores;
//定义二维数组

scores=new int[5][50];
//分配内存空间
//或者

方法二、

int [ ][ ] scores = new int[5][50];

注意:定义二维数组时,要定义最大维数

int [ ][ ] scores = new int[5][]; int [ ][ ] scores = new int[][];

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值