您的位置:首页 > 财经 > 产业 > 游戏开发大亨内购破解版_商城系统哪家的好_2345网址导航是什么浏览器_正规教育培训机构

游戏开发大亨内购破解版_商城系统哪家的好_2345网址导航是什么浏览器_正规教育培训机构

2025/3/5 4:49:49 来源:https://blog.csdn.net/qq_36500738/article/details/145884093  浏览:    关键词:游戏开发大亨内购破解版_商城系统哪家的好_2345网址导航是什么浏览器_正规教育培训机构
游戏开发大亨内购破解版_商城系统哪家的好_2345网址导航是什么浏览器_正规教育培训机构

java数组学习

结论:数组是相同类型数据的有序集合。(相同类型的若干个数据,按照一定的先后次序排列组合而成)其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标(数组的下标是从0开始索引)来访问他们。数组有边界,数组的长度为array.length。数组检索的范围是0-array.length-1。如果超过这个边界,就会报错数组下标越界ArrayIndexOutOfBounds。

Java 中的数组是一种用于存储固定大小的同类型元素的容器。数组在声明时就已经确定了其大小,并且在生命周期内无法改变。Java 数组可以是基本数据类型的数组,也可以是对象类型的数组。

数组的基本特点

  1. 数组的长度是确定的,数值一旦被创建,他的大小就是不可以改变的。

  2. 数组的元素必须是相同类型,不允许出现混合类型。(int类型的数组中不能出现除int类型以外的数据类型。)

  3. 数组的元素可以是任何数据类型,包括基本类型和引用类型。

  4. 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。

​ 数组本身就是对象,Java中对象是在堆中。因此数组无论保存原始类型还是其他对象类型,都保存在堆中

数组的声明创建初始化

在这里插入图片描述

数组的声明

数组的声明指的是在代码中首次引入一个数组变量,但此时并不分配内存空间给数组。声明只是告诉编译器这个变量将会引用一个数组对象。数组的声明可以包括数组的类型和数组的名字。

数组的创建

数组的创建指的是为数组分配内存空间,并可能初始化数组的元素。数组的创建通常使用new关键字,并指定数组的长度或直接在花括号中提供初始化值。

package com.jianstudy.array;
public class ArrayDemo01 {public static void main(String[] args) {//数组的数据类型 数组名 = new 数组类型[数组长度]; dateType[] name = new dateType[arraySize];//声明创建一个数组nums,数组有5个元素。数组下标就是0-4。//数组的所有数据只能是一种类型的 要么是数字要么是字符串不能同时出现两种数据类型//数组声明的两种形式 int[] name , int name[] 两种都可以首选前者int[] nums = new int[5];//数组元素初始化赋值 数组有5(array.length)个元素。数组下标就是0-4(0-array.length-1)。//如果索引时超过了数组的个数就会报错 数组下标越界(ArrayIndexOutOfBounds)nums[0]=1;nums[1]=5;nums[2]=3;nums[3]=2;nums[4]=6;//nums[4]="ijian";报错需要的是int类型提供的是String类型System.out.println("第0号元素的值"+nums[0]);System.out.println("第1号元素的值"+nums[1]);System.out.println("第2号元素的值"+nums[2]);System.out.println("第3号元素的值"+nums[3]);System.out.println("第4号元素的值"+nums[4]);//System.out.println("第4号元素的值"+nums[5]);nums数组只有5个元素,nums[5]已经超过了数组的大小会报错数组下标越界 ArrayIndexOutOfBoundsException//获取数组长度(遍历数组)数组名.length   array.lengthSystem.out.println("这个数组的长度:"+nums.length+"个元素");}
}

在这里插入图片描述

数组的初始化

在Java编程语言中,数组的初始化是一个为数组元素分配初始值的过程。初始化可以在数组声明时直接进行,也可以在数组声明之后的某个时刻通过赋值来完成。

  1. 静态初始化

静态初始化指的是在数组声明的同时就为其分配初始值。这种方式通常用于我们知道数组的具体内容和大小的情况。

  1. 动态初始化

动态初始化则是指先声明数组,然后在程序的后续某个时刻为其分配内存空间和初始值。这种方式在数组的大小或内容在程序运行时才能确定时非常有用。

  1. 隐性初始化

当数组通过 ‌动态初始化‌ 方式声明时(即仅指定长度,不直接赋值),JVM会自动为数组元素分配默认值。这种自动赋值的机制称为“隐性初始化”‌。隐性初始化仅作用于数组元素,数组变量本身仍需通过 new 分配内存

隐性初始化的默认值由数组元素的数据类型决定:

数据类型默认值
整型(int/long等)0
浮点型(float/double0.0
booleanfalse
引用类型(如Stringnull

静态/动态初始化核心区别在于:

  • 静态初始化‌:声明时直接赋值,编译器自动推导长度。
  • 动态初始化‌:声明时仅指定长度,由JVM分配内存并赋默认值。
package com.jianstudy.array;
public class ArrayDemo02 {public static void main(String[] args) {//数组静态初始化 直接在声明数组时给数组赋值int[] A = {1,2,3,4,5};System.out.println("A[0]元素"+A[0]);System.out.println("A[1]元素"+A[1]);System.out.println("A[2]元素"+A[2]);System.out.println("A[3]元素"+A[3]);System.out.println("A[4]元素"+A[4]);//数组动态初始化int[] B = new int[5];B[0] = 5;B[1] = 4;B[2] = 3;B[3] = 2;B[4] = 1;System.out.println("B[0]元素"+B[0]);System.out.println("B[1]元素"+B[1]);System.out.println("B[2]元素"+B[2]);System.out.println("B[3]元素"+B[3]);System.out.println("B[4]元素"+B[4]);/*数组的隐性默认初始化。数组是引用类型,他的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐性初始化。      如果不给2,3,4号元素赋值,那2,3,4号元素输出的结果就是这个数据类型的默认值int类型是0,String类型是null*/int[] C = new int[5];C[0] = 5;C[1] = 4;System.out.println("C[0]元素"+C[0]);System.out.println("C[1]元素"+C[1]);System.out.println("C[2]元素"+C[2]);System.out.println("C[3]元素"+C[3]);System.out.println("C[4]元素"+C[4]);}
}

在这里插入图片描述

注意事项

索引范围:

  • 数组索引从 0 开始,最大为 长度-1
  • 越界访问会抛出 ArrayIndexOutOfBoundsException
package com.jianstudy.array;public class ArrayDemo03 {public static void main(String[] args) {//数组下标越界int[] nums = new int[5];nums[0]=1;nums[1]=5;nums[2]=3;nums[3]=2;nums[4]=6;//nums数组只有0-4号5个元素,nums[5]已经超过了数组的边界会报错数组下标越界 ArrayIndexOutOfBoundsExceptionSystem.out.println("第5号元素的值"+nums[5]);}
}

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com