Java基础语法:数组

Wesley13
• 阅读 375

一、简介

描述:

  • 数组是相同类型数据有序集合。
  • 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。

基本特点:

  1. 数组的长度是确定的。数组一旦被创建,它的大小就是不可以改变的
  2. 数组元素必须是相同类型,不允许出现混合类型。
  3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
  4. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存基本数据类型还是其他对象类型,数组对象本身是在堆中的。

二、声明数组

语法:

/* 第一种,中括号在数据类型后 */elementType[] arrayVarName/* 第二种,中括号在变量名后 */elementType arrayVarName[]

描述:

  • 首先必须声明数组类型的变量,才能自如地在程序中使用数组对象。
  • Java中声明数组变量的方式有两种,一种中括号在'数据类型'后,另一种中括号在'变量名'后。

注意:

  • 声明数组变量时,开头的**'数据类型'(不带中括号)代表数组中元素**的数据类型。
  • 声明数组变量的第二种中括号在'变量名'后的方式,来自C/C++语言的风格,是为了方便C/C++程序员在学习Java时能更快上手,不建议使用
  • 声明数组的时候并有数组被真正的创建,没有实例化任何对象
  • 声明数组时不能指定其长度(数组中元素的个数),只有在创建数组对象时,JVM才分配空间,这时才与长度有关。

示例:

/* 推荐使用 */int[] intArr1;/* 不建议使用 */int intArr2[];

三、创建数组

语法:

  1. 动态初始化:

    new elementType[arrayLength]
    
  2. 静态初始化:

    {firstElementValue, secondElementValue, thirdElementValue...}
    

描述:

  • 创建数组有两种方式:动态初始化静态初始化
  • 创建一个数组时,必须指定数组的长度,动态初始化时在中括号中指定,静态初始化时数组长度为大括号中元素的个数。
  • 使用动态初始化创建数组对象时,会先指定数组的长度,并对元素进行默认初始化
  • 使用静态初始化创建数组对象时,不仅会指定数组长度和对元素进行默认初始化,还会对所有元素赋值

注意:

  • 数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实

    例变量同样的方式被隐式初始化

示例:

/* 动态初始化 */new int[5];/* 静态初始化 */{1, 2, 3, 4, 5};

四、使用数组

Ⅰ、声明并创建

语法:

/* 声明数组变量并动态初始化 */elementType[] arrayVarName = new elementType[arrayLength];/* 声明数组变量并静态初始化 */elementType[] arrayVarName = {firstElementValue, secondElementValue, thirdElementValue...};

描述:

  • 数组变量的声明和创建数组可以用一条语句完成,通常我们也会这样来多次操作一个数组对象。

示例:

/* 声明数组变量并动态初始化 */int[] intArr1 = new int[5];/* 声明数组变量并静态初始化 */int[] intArr2 = {1, 2, 3, 4, 5};

Ⅱ、数组长度

语法:

arrayObject.length

描述:

  • 数组长度可以
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
Wesley13 Wesley13
2年前
Java开发者容易犯的十个错误
!(https://oscimg.oschina.net/oscnet/c9f00cc918684fbe8a865119d104090b.gif)Top1.数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:\java\List<StringlistArrays.asList(arr);Arr
Wesley13 Wesley13
2年前
Java 集合类
为什么使用集合数组长度是固定,如果要改变数组的长度需要创建新的数组将旧数组里面的元素拷贝过去,使用起来不方便。java给开发者提供了一些集合类,能够存储任意长度的对象,长度可以随着元素的增加而增加,随着元素的减少而减少,使用起来方便一些。数组和集合的区别区别1:数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类
Stella981 Stella981
2年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Stella981 Stella981
2年前
HashMap 的底层实现原理
HashMap是一个用于存储KeyValue键值对的集合,每一个键值对也叫做Entry。这些个Entry分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。 !(https://oscimg.oschina.net/oscnet/8495d30fe00a2865dd74088d2
Wesley13 Wesley13
2年前
ES6 新增的数组的方法
给定一个数组letlist\//wu:武力zhi:智力{id:1,name:'张飞',wu:97,zhi:10},{id:2,name:'诸葛亮',wu:55,zhi:99},{id:3,name:'赵云',wu:97,zhi:66},{id:4,na
Wesley13 Wesley13
2年前
JavaSE
DAY081.数组1.1定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本特点:1.长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.其元素必须
Wesley13 Wesley13
2年前
Java基础学习总结(21)——数组
一.数组的基本概念数组可以看成是多个相同类型数据组合,对这些数据的统一管理。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组的元素可以是任何数据类型,包括基本类型和引用类型。C和C中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆
达里尔 达里尔
4个月前
给数组添加新数据,判断数据是否重复
多选要进行数组拼接,希望判断往原数组里添的新数据是否重复,封装个简易方法languageconstdataArrayname:'aaa',id:1,name:'bbb',id:2;constnewDataname:'ccc',id:2;//要添加的新数