阅读 130

java初学day_03

java初学day_03

数组相关

一个数组只能存储一种数据类型的数据。定义数组与两种语法格式,但尽量使用第一种:

type[] arrayName;

type arrayName[];

1

2

定义数组时不能指定数组的长度。而且由于定义数组只是定义了一个引用变量,并未指向任何有效的内存空间,因此还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组进行初始化后才可以使用。


静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统分配决定数组长度。

arrayName = new type[] {element1,element2,element2,ekement4 ...}

1

实际中更习惯将数组定义与初始化同时完成:int[] a = {5,6,7,8};


动态初始化:初始化时程序员只是指定数组长度,由系统为数组元素分配初始值。

arrayName = new  type[length];

1

数组的定义与初始化同时完成:


int[] prices = new int[5];

Object[] books = new String[4];

1

2

定义数组变量后立即进行指定初始值的场景,推荐使用var来定义数组变量:

var names = new String[] {"yeeku","nono"};

var weighArr = new double[4];

1

2

访问数组元素:包括对数组元素进行赋值以及取出数组元素的值。都是通过在数组引用变量后,加一个方括号[索引值]:java语言的索引是从0开始的。例如:

Object[] = objArr;    objArr = new String[] {"java","李刚"};或

Object[] objArr = new String[] {"java","李刚"};或

var objArr = new String[] {"java","李刚"};

System.out.println(objArr[1]);

1

2

3

4

结果会输出李刚。


foreach循环:遍历数组元素与集合元素。

f

or (type元素类型 variableName元素变量 : 遍历对象array / collection集合)

{

//variableName 自动迭代访问每个元素

}

1

2

3

4

例子:


package xuexi;


public class day001 {

public static void main(String[] args) {

int[] arr = { 2121, 5454, 545, 4, 54 };

for (int i : arr) {

System.out.println(i);

}

}

}


1

2

3

4

5

6

7

8

9

10

11

结果:

2121

5454

545

4

54


初始化并定义了一个数组后,在内存中分配存储了两个空间:一个是用于存放数组的引用变量,另一个是用于存放数组本身。

二维数组其实是一位数组的嵌套(每一行看做一个内层的一维数组)

格式1: 动态初始化

数据类型 数组名 [ ][ ] = new 数据类型[m][n]

数据类型 [ ][ ] 数组名 = new 数据类型[m][n]

数据类型 [ ] 数组名 [ ] = new 数据类型[m][n]

举例:int [ ][ ] arr=new int [5][3]; 也可以理解为“5行3例”

格式2: 静态初始化

数据类型 [ ][ ] 数组名 = {{元素1,元素2…},{元素1,元素2…},{元素1,元素2…}…};

举例:int [ ][ ] arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},};

静态初始化可用于不规则二维数组的初始化

Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法,使用时导包:

  import java.util.Arrays

————————————————

版权声明:本文为CSDN博主「星回昭以烂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_51013067/article/details/114746404


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐