JavaSE数组
数组
概念
在Java中,数组是一种用于存储多个相同类型元素的数据结构。数组在内存中是连续存储的,每个元素在数组中都有一个唯一的索引,可以通过索引来访问数组中的元素。
- 数组是一组相同数据类型元素的集合,是一个容器
- 数组本身时引用数据类型,是一个对象
- 数组可以存储基本数据类型,也可以存储引用数据类型
- 数组创建时必须指定长度,且长度不可变
- 数组中每个元素是连续的
如何创建数组
数组声明的两种方法
1. 数据类型 [] 数组名字;eg:int [] a;
2. 数据类型 数组的名字 []; eg:int a []
注:建议使用第一种
数组创建
创建一个容量为5的数组:
import java.util.Arrays;//声明这个包后就可以使用Arrays这个类的方法
public class ArrayPractice {
public static void main(String[] args) {
int [] a = new int[5];
System.out.println(a);//输出的是存储数组元素的内存首地址
System.out.println(Arrays.toString(a));//直接遍历出来[0, 0, 0, 0, 0]
//创建数组时,值是已知的,直接进行赋值,就不需要指定长度
int [] c = new int[]{1,2,3,4,5,6,7};
//简化版
int [] d = {1,2,3,4,5,6,7};
}
}
数组的访问与迭代
- 数组元素的访问:
数组名[索引] 例如:a[0],a[1];
- 注意
数组的索引从0开始。
索引的数据类型是整数(int)
索引最大值和数组长度始终差1
- 获取数组名长度
数组名.length
- 数组元素的遍历
1.for循环
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
2.增强for循环
for(元素类型 临时变量:遍历的数组){
临时变量
}
for(int t : a){
System.out.println(t);
}
二维数组
定义:
数组的数组,二维数组的每一个元素是一个一维数组
数组的声明
int[][]a;
int a[][];
注:最好使用第一种声明方式,不容易混淆a的数据类型
数组创建(会自动进行初始换为0)
int [][]a = new int [][]{{1,2,3},{1,2,3},{1,2,3}};
int [][]a = {{1,2,3},{1,2,3},{1,2,3}};
int [][]a = new int[3][5];//定义了一个整型的二维数组 ,这个二维数组有3个一维数组,每一个一维数组包含5个元素
int [][]a = new int [3][]//表示每一个一维数组为null,即没有创建;
a[0]=new int[4];
a[1]=new int[5];
a[2]=new int[4];//对二维数组中的一维数组创建和初始化;
数组遍历
双层循环遍历
eg:
int[][]a = {{1,2,3,3},{4,5,6,4},{7,8,9,5}};
//循环二维数组 从二维数组中每次取出一个一维数组
for(int i=0;i<a.length;i++){
//遍历每一个一维数组
for(int j=0;j<a[i].length;j++){
//遍历一维数组
System.out.print(a[i][j]+" ");
}
System.out.println();
}
JavaSE数组的更多相关文章
- JavaSE| 数组
1.数组(array) 数组就是多个相同类型数据的组合,实现对这些数据的统一管理. 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型.数组属引用类型,数组型数据是对象(object),每 ...
- [javaSE] 数组(查找-二分查找)
前提数组必须是有序的 定义最小,最大,中间的角标索引 int min,max,mid; min=0; max=arr.length-1; mid=(min+max)/2; 上面的索引需要变化,使用循环 ...
- [javaSE] 数组(获取最值)
数组的常见操作(获取最值) 1.获取最值需要进行比较,每一次比较都会有一个较大的值,因为该值不确定,通过一个变量进行存储 2.让数组中的每一个元素都和这个变量中的值进行比较,如果大于了变量中的值,就用 ...
- 学习JavaSE 数组
一维数组 基本概念 1.数组中只允许放同一种类型(可以是父子关系). 2.数组即对象. 例: int[ ] arrs={0,1,2};//arrs即一个对象. 3.数组是定长的,不可以增加或者减少. ...
- [javaSE] 数组(排序-冒泡排序)
两层嵌套循环,外层控制循环次数,内层循环进行比较 for(int x=0;x<arr.length-1;x++){ for(int y=0;y<arr.length;y++){ if(ar ...
- [javaSE] 数组(排序-选择排序)
两层嵌套循环,外层循环控制次数,内层循环进行比较 for(int x=0;x<arr.length;x++){ for(int y=0;y<arr.length;y++){ if(arr[ ...
- Comparator比较器
Comparator比较器 简介 为什么写? comparator 是javase中的接口,位于java.util包下,该接口抽象度极高,有必要掌握该接口的使用 大多数文章告诉大家comparator ...
- JavaSE语法基础(3)---函数、数组
JavaSE语法基础(3)---函数.数组 函数的概念:实现特定功能的一段代码,可反复使用. 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作. 函 ...
- JavaSE回顾及巩固的自学之路(四)——————方法和数组,面向对象
今天是2018.03.31,emmmmmm.好像距离上一次写Javase回顾总结已经好久好久过去,差一点就以为要停更了,哈哈哈. 其实呢,最近是真的好忙(额,这段时间觉得自己一直在学习) ...
- 「JavaSE 重新出发」05.02 泛型数组列表、包装类
泛型数组列表 ArrayList 是一个采用类型参数(type parameter)的泛型类(generic class). java ArrayList<Employee> staff ...
随机推荐
- 独家深度 | 一文看懂 ClickHouse vs Elasticsearch:谁更胜一筹?
简介: 本文的主旨在于通过彻底剖析ClickHouse和Elasticsearch的内核架构,从原理上讲明白两者的优劣之处,同时会附上一份覆盖多场景的测试报告给读者作为参考. 作者:阿里云数据库OLA ...
- 官宣|Apache Flink 1.13.0 正式发布,流处理应用更加简单高效!
简介: Flink 1.13.0 版本让流处理应用的使用像普通应用一样简单和自然,并且让用户可以更好地理解流作业的性能. 翻译 | 高赟Review | 朱翥.马国维 Flink 1.13 发布了! ...
- 阿里大数据云原生化实践,EMR Spark on ACK 产品介绍
开源大数据社区 & 阿里云 EMR 系列直播 第六期 主题:EMR spark on ACK 产品演示及最佳实践 讲师:石磊,阿里云 EMR 团队技术专家 内容框架: 云原生化挑战及阿 ...
- 复杂推理模型从服务器移植到Web浏览器的理论和实战
简介: 随着机器学习的应用面越来越广,能在浏览器中跑模型推理的Javascript框架引擎也越来越多了.在项目中,前端同学可能会找到一些跑在服务端的python算法模型,很想将其直接集成到自己的代码 ...
- dotnet C# 在 finally 抛异常会发生什么
如果我在一个方法的 finally 里面抛出异常,而在 try 里面也抛出,那在上层拿到的是什么 如下面代码 private void F1() { try { A(); } catch (Excep ...
- dotnet OpenXML 读取形状轮廓线条样式序号超过主题样式列表数
在 OpenXML 中,默认的形状可以通过指定 LineReference 让形状使用文档主题里面的样式.文档主题里面包含多个样式,在形状里面指定样式通过的是序号的方法,如果在形状里面指定的序号超过了 ...
- Linux 根文件系统的移植(从入门到精通)
一.简介 提到操作系统的安装,还得从大学的时候说起,刚入学的时,朋友的系统本崩了,跑去电脑城换个系统花了40大洋,震惊了贫穷的我.好像发现了商机,果断开始了折腾自己的电脑,然后用朋友的电脑进行测试,由 ...
- NSThread的start方法内部做了什么?
下面是NSThread start方法的汇编码: 1 1 1 ;Foundation`-[NSThread start]: 2 2 2 -> 0x7fff2594f47f <+0>: ...
- springboot中quartz定时器的postgresql建表语句
建表语句如下: DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; DRO ...
- 智能工作流:Spring AI高效批量化提示访问方案
基于SpringAI搭建系统,依靠线程池\负载均衡等技术进行请求优化,用于解决科研&开发过程中对GPT接口进行批量化接口请求中出现的问题. github地址:https://github.co ...