文章目录
一、 数组的概述
- 一、 数组的概述
- 二、 一维数组的使用
- 2.1、内存的简化结构
- 2.2、一维数组的内存解析
- 2.3、练习1
- 三、 多维数组的使用
- 3.1、二位数组
- 3.2、二维数组的内存解析
- 3.3、练习
- 3.4、面试题目
- 四、 数组中涉及到的常见算法
- 4.1、数组元素的赋值
- 4.2、数组元素的基本操作
- 4.3、数组元素的基本操作 2
- 4.4、数组的复制、反转、查找
- 五、 Arrays 工具类的使用
- 六、 数组使用中的常见异常
/*
* 一、数组的概述
* 1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,
* 并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
*
* 2.数组的相关概念:
* >数组名
* >元素
* >角标、下标、索引
* >数组的长度:元素的个数
*
* 3.数组的特点:
* 1)数组属于引用类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型。
* 2)创建数组对象会在内存中开辟一整块连续的空间;
* 3)数组的长度一旦确定,就不能修改;
* 4)数组是有序排列的。
*
* 4.数组的分类:
* ① 按照维数:一维数组、二维数组、三维数组……
* ② 按照数组元素类型:基本数据类型元素的数组、引用类型元素的数组
*
*/
二、 一维数组的使用
/*
* ① 一维数组的声明和初始化
* ② 如何调用数组的指定位置的元素
* ③ 如何获取数组的长度
* ④ 如何遍历数组
* ⑤ 数组元素的默认初始化值:见ArrayTest1.java
* ⑥ 数组的内存解析:见ArrayTest1.java
*/
1、代码案例1——ArrayTest.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 数组元素是整形:0
* > 数组元素是浮点型:0.0
* > 数组元素是char型:0或'\u0000',而非'0'
* > 数组元素是boolean型:false
*
* > 数组元素是引用数据类型:null
*/
public class ArrayTest1 {
public static void main(String[] args) {
//5.数组元素的默认初始化值
int[] arr = new int[4];
for(int i = 0;i {1,2,3},{4,5,6},{7,8,9}};
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?