Java数组1

1. 数组的基本概念

1.1 什么是数组

在Java中,数组用于存储相同类型的多个元素,即数组可以理解为是相同类型元素的集合。例如

在这里插入图片描述
这就是一个整型数组,包含5个整形类型元素的数组,从上图我们可以总结数组的特点:

数组的特点

  1. 连续的内存
  2. 存储得是相同数据类型的数据集合

那么我们应如何创建数组呢?

1.2 数组的创建于初始化

1.2.1 数组的创建

T[] 数组名 = new T[N];

T:表示数组中存放元素的类型
T[]:表示数组的类型
N:表示数组的长度

例如

int[] array1 = new int[10];
double array2 = new double[10];
String[] array3 = new String[10]; 

1.2.2数组的初始化

数组的初始化主要分为动态初始化以及静态初始化

** 1. 动态初始化:在创建数组时,直接指定数组中元素的个数 **

int[] array2 = new int[10];

** 2. 静态初始化:在创建数组时不直接指定数据元素个数,而是将具体的数据内容进行指定**

int[] array1 = new int[]{1,2,3,4,5};

也可以省略new int[ ] ,即
后面的{1,2,3,4,5} 称为对象,而new是用来实例化对象的。

int[] array1 = {1,2,3,4,5};

注意

  • 静态初始化虽然没有指定数组的长度,但编译器在编译时会根据{}中元素个数来确定数组的长度。
  • 静态初始化时, {}中数据类型必须与[]前数据类型一致。
  • 大多数宝子们是先学习的C语言,所以创建数组时的格式为
int array4[] = {1,2,3,4,5};

在Java中可以按照C语言格式来创建并初始化数组,但是不推荐。

不准用!!!使用Java语言时用C语言格式,显得像个外行
在这里插入图片描述

  • 如果没有对数组进行初始化,数组中元素有其默认值
  1. 如果数组中存储元素类型为基类类型,默认值为基类类型对应的默认值,比如:
类型默认值
byte0
short0
int0
long0
float0.0f
double0.0
char/u0000
booleanfalse
  1. 如果数组中存储元素类型为引用类型,默认值为null

1.3 数组的使用

在这里插入图片描述
手跟个残废似的,就是画不好
在这里插入图片描述

如图,上述是一个可以存储五位整型的整型数组,下标是从0开始标记数据的位置。

1.3.1 数组中元素的访问

**数组在内存中是一段连续的空间,下标都是从0开始的,依次递增,数组可以通过
下标访问其任意位置的元素。**例如上述数组

int[] array = new int[]{1,2,3,4,5};
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);
        System.out.println(array[3]);
        System.out.println(array[4]);

在这里插入图片描述
同理,我们也可以通过这种方式对某个元素进行修改。

注意
下标从0开始,介于[0, N)之间不包含N,N为元素个数,不能越界,否则会报出下标越界异常。例如

在这里插入图片描述

1.3.2 数组中元素的遍历

所谓 “遍历” 是指将数组中的所有元素都访问一遍, 即打印。例如

int[] array = new int[]{1,2,3,4,5};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[4]);

上述代码虽然可以实现将数组中的元素遍历,但是如果这个数组中有一百个元素,难道我们要一行一行打印吗?

其实我们可以借助前面学到的循环来遍历数组,例如

int[] array = new int[]{1,2,3,4,5};
for(int i = 0;i < 5;i++){
   System.out.println(array[i]);
}

但是我们运用词循环的前提是知道该数组的长度,当我们不知道数组的长度时,可以通过 数组对象.length 来获取数组的长度,例如

int[] array = new int[]{1,2,3,4,5};
for(int i = 0;i < array.length;i++){
    System.out.println(array[i]);
}

也可运用其他循环方式,比如while ,for each等等。

剩下的明天吧,嘻嘻
在这里插入图片描述

明天不更新就击毙我自己
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值