数组的概述
/*
* 一、数组的概述
* 1.数组的理解:数组(Array),是多个相 同类型数据按一定顺序排列的集合,
* 并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
*
* 2.数组的相关概念:
* >数组名
* >元素
* >角标、下标、索引
* >数组的长度:元素的个数
*
* 3.数组的特点:
* 1)数组属于引用类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型。
* 2)创建数组对象会在内存中开辟一整块连续的空间;
* 3)数组的长度一旦确定,就不能修改;
* 4)数组是有序排列的。
*
* 4.数组的分类:
* ① 按照维数:一维数组、二维数组、三维数组……
* ② 按照数组元素类型:基本数据类型元素的数组、引用类型元素的数组
*
22 一维数组和二维数组有什么区别
一维数组只可以存储一个数据 二维数组可以存储多个数据
什么是静态数组
静态数组是固定死的不可以改变
动态数组可以改变
02、 一维数组的使用
/*
* ① 一维数组的声明和初始化
* ② 如何调用数组的指定位置的元素
* ③ 如何获取数组的长度
* ④ 如何遍历数组
* ⑤ 数组元素的默认初始化值:见ArrayTest1.java
* ⑥ 数组的内存解析:见ArrayTest1.java
*/
public class ArrayTest {
public static void main(String[] args) {
//1. 一维数组的声明和初始化
int num; //声明
num = 10; //初始化
int id = 1001; //声明 + 初始化
int[] ids; //声明
//1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行
ids = new int[]{1001,1002,1003,1004};
//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行
String[] names = new String[5];
//错误的写法:
// int[] arr1 = new int[]; //未赋值、未指明长度
// int[5] arr2 = new int[5];
// int[] arr3 = new int[3]{1,2,3};
//也是正确的写法:
int[] arr7 = {1,2,3,5,4};//类型推断
/*总结:数组一旦初始化完成,其长度就确定了。
*/
//2.如何调用数组的指定位置的元素:通过角标的方式调用。
//数组的角标(或索引)从0开始的,到数组的长度-1结束
names[0] = "张郃";
names[1] = "王陵";
names[2] = "张学良";
names[3] = "王传志"; //charAt(0)
names[4] = "李峰";
// names[5] = "周礼"; //如果数组超过角标会通过编译,运行失败。
//3.如何获取数组的长度
//属性:length
System.out.println(names.length); //5
System.out.println(ids.length); //4
//4.如何遍历数组
// System.out.println(names[0]);
// System.out.println(names[1]);
// System.out.println(names[2]);
// System.out.println(names[3]);
// System.out.println(names[4]);
for(int i = 0;i < names.length;i++){
System.out.println(names[i]);
}
}
}
数组元素的默认初始化值 * > 数组元素是整形:0 * >
数组元素是浮点型:0.0 * >
数组元素是char型:0或'\u0000',而非'0' * >
数组元素是boolean型:false * * >
数组元素是引用数据类型:null
首地址
静态二维数组
int [][] a= {{1,2},{3,4,5,6},{7,8,9}};
动态二维数组
二维数组
定义:二维数组是指以一维数组作为元素的数组。
语法:数据类型[行][列] 数组名。
二维数组的初始化
静态:
动态:
循环输出二维数组中的数据。
结果:
使用jdk里面的方法来排序
必须先导包
importjava.util.Arrays;
打印数组----toString方法
System.out.println(Arrays.toString(arr));
比较两个数组是否相同----equals方法
System.out.println(Arrays.equals(arr,num));
数组排序----sort方法
Arrays.sort();
System.out.println(Arrays.toString(arr));
数组查找----binarySearch 方法
System.out.println(Arrays.binarySearch (arr));