【第六天 数组的相关学习】 一维数组 二维数组 以及内存图
2022/1/17 7:09:04
本文主要是介绍【第六天 数组的相关学习】 一维数组 二维数组 以及内存图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数组
- 前言
- 一、一维数组
- 1. 特点
- 2.数组的定义格式
- 3.数组的初始化方式:
- 4.数组的遍历
- 二、二维数组
- 1.定义:
- 2.定义格式:
- 3.注意事项
- 三、数组内存图
前言
认真理解,反复练习
一、一维数组
定义:存放同一种数据类型元素的集合,也可以看作是一个容器。
1. 特点
(1)元素的数据类型一致,可以存放基本数据类型,也可以存放引用数据类型。 (2)数组的长度是固定的。
2.数组的定义格式
(1)数据类型[] 数组名; (推荐使用第一种) (2)数据类型 数组名[];
3.数组的初始化方式:
(1)动态初始化:在定义时候只给定数组的长度,值是由系统默认给出的。 语句定义格式: 数据类型[] 数组名 = new 数据类型[元素的个数]; 举例:int[] arr = new int[3]; 表示的是定义一个长度为3并且元素是int类型的一维数组。 (2)静态初始化:在定义的时候,就手动给出元素值。 语句定义格式:数据类型[] 数组名 = new 数据类型[]{元素值1,元素值2...}; 简化格式:数据类型[] 数组名 = {元素值1,元素值2...};
4.数组的遍历
(1)获取的长度的属性:length 使用格式:数组名.length
二、二维数组
1.定义:
元素是由一维数组组成的数组
2.定义格式:
(1)定义格式一: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示的是有多少个一维数组 n:表示的一维数组的元素个数 举例:int[][] arr = new int[3][2]; 表示的是定义一个有3个长度为2的一维数组组成的二维数组。 (2)定义格式二: 数据类型[][] 数组名 = new 数据类型[m][]; m:表示的是有多少个一维数组 举例:int[][] arr = new int[4][]; (3)定义格式三: 数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}}; 举例:int[][] arr = new int[][]{{1,2},{3,4,5},{1,2,34,5}}; 简化版格式: 数据类型[][] 变量名 = {{元素…},{元素…},{元素…}}; 举例:int[][] arr = {{1,2},{3,4,5},{1,2,34,5}}; 表示的是:二维数组arr中有三个一维数组,分别是{1,2},{3,4,5},{1,2,34,5}
3.注意事项
注意: 1、以下几种写法也是二维数组 数据类型[] 数组名[]; 数据类型 数组名[][]; 2、格式3不能与格式1、格式2混合使用。 错误格式:int[][] arr = new int[2][]{{1,2},{3,1,2}};
需要掌握二维数组的遍历方式,结合着一维数组遍历方式去看
package com.shujia.wxl.day06; /* 二维数组遍历 数加科技 十三期 小王,小李 十四期 小明,小刘,小张 十五期 小虎,小宇,小旺,小凯 十六期 小火,小杨,小爱,小周 */ public class Array2Demo4 { public static void main(String[] args) { //定义一个二维数组表示是一个数加科技 String[][] shujia = {{"小王", "小李"}, {"小明", "小刘", "小张"}, {"小虎", "小宇", "小旺", "小凯"}, {"小火", "小杨", "小爱", "小周"}}; for (int i = 0; i < shujia.length; i++) { // System.out.println(shujia[i]); //外层循环遍历到的是每一个一维数组 //要想获取每个一维数组中的元素,再进行一次for循环遍历 System.out.println("第" + (i + 1) + "个数组:"); for (int j = 0; j < shujia[i].length; j++) { // System.out.println(shujia[i][j]); if (j == shujia[i].length - 1) { System.out.print(shujia[i][j] + "]"); } else if (j == 0) { System.out.print("[" + shujia[i][j] + ","); } else { System.out.print(shujia[i][j] + ","); } } //每次内循环结束表示打印完一个一维数组,换行 System.out.println(); } } }
三、数组内存图
1. JVM将内存划分成的5个部分, (1)栈:局部变量和方法的调用 (2)堆:new出来的东西都在堆里面 (3)方法区(面向对象的时候讲解) (4)本地方法区 (5)寄存器
2. 数组动态初始化和惊静态初始化
3.定义两个数组 (1)定义两个数组并赋值 (2)定义两个数组共用一个地址
(1)
(2)
4.二维数组内存图
这篇关于【第六天 数组的相关学习】 一维数组 二维数组 以及内存图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?