您好!欢迎来到源码码网

Java学习笔记——数组

  • 行业资讯
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-04-27 09:07
  • 阅读:944

Java学习笔记——数组

数组是一组具有相同数据类型的数据元素的有序集合。


数组的特点

在整个生命周期中长度固定不可变。

数组可以存储基本数据类型和引用类型元素。

同一个数组中必须存储相同类型的元素。

数组中的元素有先后顺序,其顺序位置由数组下标决定。


Java中数组作为数组类(Array)的实例来处理的。

一维数组

数组声明的基本语法:


array_type array_Name[ ];

array_type[ ] array_Name;

例:

int a[ ] ;

int [ ]a ;

数组只是声明的话,JVM并没有给数组分配内存空间。在使用数组前还必须对其进行初始化(即为其分配内存空间)。给数组元素分配内存并为数组元素赋初值的过程称为数组初始化.

初始化可分为静态初始化和动态初始化


静态初始化

当数组元素的初始化值直接由括在大括号“{ }”之间的数据给出时,就称为静态初始化。该方法适用于数组的元素不多且初始元素有限时。


静态初始化格式如下:

array_type[ ] array_Name={element1[, element2…]};

例如:int []a ={1,2,3};

不能在[ ]中指定数字长度


动态初始化

动态初始化先用new操作符为数组分配内存,然后才为每一个元素赋初值。其一般格式如下:

array_Name = new array_type [ arraySize];

例如:

int num[ ]= new int[4];

for (int i=0;i<4;i++){

num[ i ]=i*3;

}


二维数组

声明的一般格式:


–array_type array_Name[ ] [ ];

–array_type [ ] [ ] array_Name;

–array_type [ ] array_Name[ ];

静态初始化


– int number[ ] [ ] = { {1,2},{3,4},{5,6}};


动态初始化


– String[ ][ ] names = new String[3][4];


Arrays类的引入

数组是一种非常常用的存储数据的数据结构,并且在程序中会大量对数组中的元素进行查找、排序等操作,使用循环,条件分支等流程控制可以满足需求,但程序会显得比较凌乱。

Java中提供了实用的工具类Arrays,辅助编程人员简化数组的常用操作。

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。


拓展:

字符串获取长度方法:

str.length()

数组获取长度属性:

arr.length

集合获取长度方法:

list.size()



特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • open claw最近很火,如何理性看待?
  • open claw最近很火,如何理性看待?
  • openclaw是2026年初科技圈最火爆的现象级话题。它不仅仅是又一个AI产品,更被百川智能的王小川誉为与ChatGPT诞生同等重要的里程碑——标志着AI从”只会说”的对话者,进化到了”能够做”的行动者。对于这股全民”养虾”热潮,我的观察是:它代表了一次人机关系的革命性跃迁,但同时也是一场充满风险与泡沫的狂欢,其真正的价值需要在喧嚣褪去、安全与成本的挑战被克服后才能显现。下
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-17 11:06
  • 阅读:33
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序是两种不同的开发模式,主要区别在于开发方式、性能表现、代码维护以及跨平台能力。为了让你更清晰地理解,我们可以把“原生”比作用钢筋水泥直接盖楼,而“封装”则是用预制板或套件来组装楼。以下是详细的对比分析:1.定义与本质原生小程序:定义: 直接使用微信官方提供的开发工具、语法和API进行开发。语言: 使用微信自己定义的一套技术栈(WXML(微信标记语言)做结构、WXSS(微信样式表)做样式、JS
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-06 11:54
  • 阅读:255
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • FytSoaCms一款基于NetCore2.2/3.1(RazorPage)功能强大的Cms建站系统,支持前后端分离。简介:模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。模型/栏目/分类信息体系:通过栏目和模型绑定,以及不同的模型类型,不同栏目可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。通过分类信息和栏目绑定,可以自动建立索引表,轻松实现复杂的信息检索。FytSoa是一套基于NetCore+SqlS
  • 开发工具
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 22:21
  • 阅读:300
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • SmartWx微信公众号管理系统是一个完整的微信公众号web操作版,直接编译即可运行。让用户不再用关心微信的底层接口,直接使用页面进行操作,简单方便。包括服务器绑定、文本管理、图文管理、菜单管理、粉丝管理、群发消息等。技术框架开发语言:JAVA数据库:MYSQLJAVA开发框架:SpringMVC+Spring+Mybatis缓存框架:j2cache前端开发框架:Layui+JQuery+html前台模板引擎:art-templat
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 21:53
  • 阅读:295
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • renren-security是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】采用SpringBoot3.x、Shiro、MyBatis-Plus、Vue3、TypeScript、ElementPlus、VueRouter、Pinia、Axios、Vite框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。提供了代码生成器,只
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-23 13:03
  • 阅读:200
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部