IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Java SE 数组 (快速入门) -> 正文阅读

[数据结构与算法]Java SE 数组 (快速入门)

一.数组的创建

int[] array={1,2,3,4}
int[] array2=new int[]{11,12,13,14}  //前2种方法无需指定数组长度
int[] array3=new int[4]  //创建了一个包含四个元素的数组,并且数组元素初始化为0

匿名数组的创建 和 使用

new int[] {55,44,22,88};//java中允许创建一个匿名数组
                   
smallPrimes = new int[] {55,44,22,88};  //可以使用匿名数组重新初始化一个数组,而无需创建新的变量

int[] anonymous={55,44,22,88};
smallPrimes =anonymous;            //与匿名数组作对比

二.遍历数组的2种方式 for 和 for each

//for 循环遍历
for (int i = 0;i<arr.lenth;i++) {
    System.out.print(arr[i]+" ");
}
System.out.println("-=-=-=-=-=-=-=-")
// for each 循环 
for( int v : array){
    System.out.print(v);
}

for each 的语法格式为

???????for (variable : collection) statement

? ? ??collection这一集合表达式必须是一个数组或者一个实现了Iterable接口的类对象(例如ArrayList)?

三.数组在内存中的存储方式? ? ?

针对 int[] array = new int[]{1, 2, 3,4} 这样的代码, 内存布局如图:
????????a) 当我们创建 new int[]{1, 2, 3,4} 的时候, 相当于创建了一块内存空间保存三个 int
????????b) 接下来执行 int[] array = new int[]{1, 2, 3,4} 相当于又创建了一个 int[] 变量, 这个变量是一个引用类型, 里面只保存了数组的起始内存地址

? ?认识引用?


????????引用相当于一个 "别名", 也可以理解成一个指针.
????????创建一个引用只是相当于创建了一个很小的变量, 这个变量保存了一个整数, 这个整数表示内存中的一个地址.? 数组就是一种引用类型.

? ?认识null

int[] arr = null;
System.out.println(arr[0]);
// 执行结果
Exception in thread "main" java.lang.NullPointerException
at Test.main(Test.java:6)

null 在 Java 中表示 "空引用" , 也就是一个无效的引用
null 的作用类似于 C 语言中的 NULL (空指针), 都是表示一个无效的内存位置. 因此不能对这个内存进行任何读写操作. 一旦尝试读写, 就会抛出 NullPointerException.
注意: Java 中并没有约定 null 和 0 号地址的内存有任何关联

四.二维数组

二维数组本质上也就是一维数组, 只不过每个元素又是一个一维数组.

a.二维数组的定义

?

b.二维数组的图像理解

?

c.二维数组的打印

?

?

?

d.不规则数组

?

?五.数组的拷贝

? ? ? ? 知识要点要求:理解深拷贝和浅拷贝

?

?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:17:09  更:2022-02-04 11:17:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:25:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码