Java一维数组入门
程序员文章站
2024-03-14 20:03:35
...
Java一维数组入门
- 数组是一种用于存储数据的典型数据结构。
- 数组是有序的
- 数组存放的元素类型相同
- 一旦创建数组,数组的长度不可修改
- 数组的基本属性:数组的长度
通常使用数组名.length返回一个int类型的数表示数组的长度
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={1,2,3};
int length = arr.length;
System.out.println(length);
}
}
可理解为,数组中存放了多少个元素,数组的长度就等于数组存放的元素个数和。
- 数组存放元素通过索引值(索引值从0开始进行存取对应元素) 索引值的取值范围应为 [0,数组长度)(取左不取右)
- 数组的初始化方式
1.静态初始化:数组被创建时就拥有初始值
2.动态初始化:数组创建时给定数组长度,依此根据索引进行赋值
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr1={1,2,3,4,5};
//动态初始化
int [] arr2= new int[5];
arr2[0]=1;
arr2[1]=2;
arr2[2]=3;
arr2[3]=4;
arr2[4]=5;
}
}
- 数组的应用
1.访问与赋值
通过索引值进行取元素
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={1,2,3,4,5};
int i=arr[1];//取出索引值为1的元素
int j=arr[0];//取出索引值为0的元素
System.out.println(i);
System.out.println(j);
}
}
通过索引值进行存元素:
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//动态初始化
int [] arr=new int[3];
arr[0]=1;
arr[1]=2;
arr[2]=3;
//根据索引值为数组进行赋值,可看作动态初始化数组
//int [] arr={1,2,3};
}
}
注意:当索引值超出最大值是(即值超过大于等于0小于数组长度的区间)会报出数组下标越界异常
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={1,2,3,4,5};
int x=arr[6];
System.out.println(x);
}
}
2数组是随机访问结构,不需要按照顺序进行访问
(注意,访问可以无序,但数组本身是有序的)
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={1,2,3};
int i=arr[2];//不需要从索引值为0开始访问,可直接访问范围内的索引值对应的元素
System.out.println(i);
}
}
3 数组的遍历
当一个数组元素不是很多的时候,我们可以依次取出对应索引值元素来实现访问所有元素的目的,那如果元素过多,会显得很麻烦,所以我们就需要利用for循环来遍历所有数组中的元素
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={1,2,3,4,5,6,7,8,9,10};
//for循环遍历数组,结合索引值我们可以知道从第0个开始,直到数组长度-1个为止
//超过数组长度(arr.length)会抛出数组下标越界异常
for (int i = 0; i < arr.length; i++) {
int m=arr[i];//m的值就为数组中从0开始直到长度-1的对应的元素值
System.out.print(m);
}
}
同样,在for循环中当超过 [0,长度)范围时,会抛出数组下标越界异常
package com.etime01;
class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//静态初始化
int [] arr={1,2,3,4,5,6,7,8,9,10};
//for循环遍历数组,结合索引值我们可以知道从第0个开始,直到数组长度-1个为止
//超过数组长度(arr.length)会抛出数组下标越界异常
for (int i = 0; i < arr.length+1; i++) {//当超过长度时,即i取值超过范围时
//会抛出数组下标越界异常
int m=arr[i];
System.out.print(m);
}
}
}
推荐阅读
-
Java一维数组入门
-
Shiro入门一:基于java项目,初识Shiro
-
Win10操作系统下,Java环境变量的配置和Java入门小程序“hello,world”的编译
-
System.arraycopy()实现数组之间的复制 博客分类: java基础 System.arraycopy()
-
JAVA 注解Annotation自定义注解入门 博客分类: java基础 JAVA 注解Annotation
-
JAVA 注解Annotation自定义注解入门 博客分类: java基础 JAVA 注解Annotation
-
System.arraycopy()实现数组之间的复制 博客分类: java基础 System.arraycopy()
-
Java中ArrayUtils数组工具类
-
Spring-Boot -- Java对象的序列化(反序列化)+ GZIP实现字节数组的压缩和解压缩
-
java实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩