【第六天 数组的相关学习】 一维数组 二维数组 以及内存图
作者:互联网
数组
前言
认真理解,反复练习
一、一维数组
定义:存放同一种数据类型元素的集合,也可以看作是一个容器。
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.二维数组内存图
标签:一维,定义,int,数据类型,第六天,内存,数组,格式 来源: https://blog.csdn.net/Swagwxl/article/details/122519972