java数组详解

1.数组容器

1.特性:固定大小,有序。可以存储任意类型(简单类型,对象类型)。

2.数组的定义:

语法:类型 变量名=null;

其中类型可以是Java的任意类型,包括:简单类型,对象类型

数组定义案例:

int a1=null; a1=new int10;//定义一个长度为10的整数数组

long a2=null; a2=new long20; //定义一个数据类型为long长度为20数组

String a3=null;a3=new String30; //定义一个数据类型为String长度为30的数组

Person a4=null;a4=new Person5; //定义一个数据类型为Person长度为5的数组,需要引入有Person方法的包,否则Person无法解析为类型。

3.创建数组:

(1)只创建一个固定大小的数组,没有存储任何数据(方式一和上面举的几个例子就是如此)

方式一:一般推荐使用这种方式

格式:数组存储的数据类型 数组名称 = new 数组存储的数据类型数据长度;

如:定义一个长度为10的整数数组 int arr=new int10;

定义一个长度为10的字符串数组 String arr=new String10;

(2)创建数组时就在数组中存储了数据

方式二:

格式:数组存储的数据类型 数组名称 = {元素1,元素2,元素3,...};

如:定义一个存储 张三 李四 王五 赵六字符串的数据容器

String arr={"张三","李四","王五","赵六"}

Person p1=new Person("吴明",20);//调用Person注意自己的类中是否调用了包含有Person方法的包,还有标点大小写

Person p2=new Person("刘明",20); //调用Person注意自己的类中是否调用了包含有Person方法的包, 还有标点大小写

方式三

格式:数组存储的数据类型 数组名称 = new 数组存储的数据类型\[\]{元素1,元素2,元素3,元素4,...}

如:定义一个存储10,20,30,40的整型数组

int arr=new int {10,20,30,40}

备注:数组为上篇笔记中所写的按大小是否可变容器中的不可变大小容器,长度一旦指定不可更改。

4.数组的遍历:(遍历就是将容器中的每个对象取出来,如挨个打印出来)

(1)使用普通的for循环

数组的每个元素都有下标位置,从0开始到i结束,如

for(int i=0;i<a1.length;i++)

(2)Java提供了所有容器的简便变量信息(for each循环)

for(类型 变量:容器){ }//类型要是数组的则类型一致

for(long m:a2) {

System.out.println(m);

}

6.取得数组单元格的数据:

Int m=a12;

相关推荐
yuniko-n12 小时前
【JUC】四种内存屏障示例
java·1024程序员节
CCblandy13 小时前
前缀缓存命中率不靠引擎靠排列:本机仿真 3 轮,易变字段放开头 98.0%→0.0%
人工智能·python·算法·自然语言处理·性能优化
Sakura_j_h_13 小时前
给 FastAPI 接大模型:超时、重试和 token 成本该怎么管
python·大模型·fastapi·超时重试·token计费
念何架构之路13 小时前
Go reflect 包:结构体反射 —Field、Tag 与 VisibleFields
java·数据库·golang
forest_0913 小时前
用Python复刻ClaudeDuet:主动式Agent四件套,定时晨报、后台巡检、危险动作审批(附完整可运行代码)
人工智能·python·架构·prompt·agi
liangbo713 小时前
03-JDK 10/11 局部变量推断与 LTS:var 到底该怎么用
java
小小张说故事13 小时前
Python 的函数调用到底贵在哪?拆开一次 call:51 纳秒栈帧与 *args 的 40 纳秒罚单
python
2401_8858850414 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
Percep_gan14 小时前
调用天翼云的对象存储ZOS,很详细
java·1024程序员节
若亦_14 小时前
数据结构>>优先级队列(堆)
java·数据结构