返回顶部
首页 > 资讯 > 后端开发 > JAVA >JAVASE---数组的定义与使用
  • 468
分享到

JAVASE---数组的定义与使用

算法数据结构java开发语言 2023-09-02 06:09:48 468人浏览 薄情痞子
摘要

数组的基本概念 什么是数组 数组是具有相同类型元素的集合,在内存中连续存储。 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3. 每个空间有自己的编号,起始位置的编号为0,即数组的下标 数组的创建及初始化 数组的创建 T[]

数组的基本概念

什么是数组

数组是具有相同类型元素的集合,在内存中连续存储。

数组中存放的元素其类型相同
2. 数组的空间是连在一起的
3. 每个空间有自己的编号,起始位置的编号为0,即数组的下标

数组的创建及初始化

数组的创建

T[] 数组名 = new T[N];

T代表每个元素的类型

N代表元素的个数/数组长度

int[] array1 = new int[10]; // 创建一个可以容纳10个int类型元素的数组double[] array2 = new double[5]; // 创建一个可以容纳5个double类型元素的数组String[] array3 = new double[3]; // 创建一个可以容纳3个字符串元素的数组

数组的初始化

数组的初始化主要分为动态初始化以及静态初始化。

动态初始化:在创建数组时,直接指定数组中元素的个数

int[] array = new int[10];

静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定

T[] 数组名称 = {data1, data2, data3, ..., datan};

静态初始化虽然没有指定数组的长度,编译器在编译时会根据{}中元素个数来确定数组的长度。
静态初始化时, {}中数据类型必须与[]前数据类型一致。
静态初始化可以简写,省去后面的new T[]。

如果没有对数组进行初始化,数组中元素有其默认值,为各个类型的0值。

数组的使用

数组中元素访问

数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,该编号称为数组的下标,数组可以通过下标访问其任意位置的元素。

int[]array = new int[]{10, 20, 30, 40, 50};System.out.println(array[0]);System.out.println(array[1]);System.out.println(array[2]);System.out.println(array[3]);System.out.println(array[4]);// 也可以通过[]对数组中的元素进行修改array[0] = 100;System.out.println(array[0]);

数组是引用类型

初始JVM的内存分布

内存是一段连续的存储空间,主要用来存储程序运行时数据的。

程序运行时代码需要加载到内存
2. 程序运行产生的中间数据要存放在内存
3. 程序中的常量也要保存
4. 有些数据可能需要长时间存储,而有些数据当方法运行结束后就要被销毁

因此JVM也对所使用的内存按照功能的不同进行了划分:

程序计数器 (PC ReGISter): 只是一个很小的空间, 保存下一条执行的指令的地址
虚拟机栈(JVM Stack): 与方法调用相关的一些信息,每个方法在执行时,都会先创建一个栈帧,栈帧中包含有:局部变量表、操作数栈、动态链接、返回地址以及其他的一些信息,保存的都是与方法执行时相关的一些信息。比如:局部变量。当方法运行结束后,栈帧就被销毁了,即栈帧中保存的数据也被销毁了。
本地方法栈(Native Method Stack): 本地方法栈与虚拟机栈的作用类似. 只不过保存的内容是Native方法的局部变量. 在有些版本的 JVM 实现中(例如HotSpot), 本地方法栈和虚拟机栈是一起的
堆(Heap): JVM所管理的最大内存区域. 使用 new 创建的对象都是在堆上保存 (例如前面的 new int[]{1, 2,3} ),堆是随着程序开始运行时而创建,随着程序的退出而销毁,堆中的数据只要还有在使用,就不会被销毁。
方法区(Method Area): 用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据. 方法编译出的的字节码就是保存在这个区域

基本类型变量与引用类型变量的区别


 基本数据类型创建的变量,称为基本变量,该变量空间中直接存放的是其所对应的值;
而引用数据类型创建的变量,一般称为对象的引用,其空间中存储的是对象所在空间的地址

 a,b就是基本数据类型,array是引用类型。其实本质相同都存放的是数据只是数据类型不同而已。

再谈引用变量

public static void func() {int[] array1 = new int[3];array1[0] = 10;array1[1] = 20;array1[2] = 30;int[] array2 = new int[]{1,2,3,4,5};array2[0] = 100;array2[1] = 200;array1 = array2;array1[2] = 300;array1[3] = 400;array2[4] = 500;for (int i = 0; i < array2.length; i++) {System.out.println(array2[i]);}}

 

 认识null

null 在 Java 中表示 "空引用" , 也就是一个不指向对象的引用.

总结: 所谓的 "引用" 本质上只是存了一个地址. Java 将数组设定成引用类型, 这样的话后续进行数组参数传参, 其实只是将数组的地址传入到函数形参中. 这样可以避免对整个数组的拷贝(数组可能比较长, 那么拷贝开销就会很大).

来源地址:https://blog.csdn.net/m0_75040012/article/details/132325822

--结束END--

本文标题: JAVASE---数组的定义与使用

本文链接: https://www.lsjlt.com/news/390105.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JAVASE---数组的定义与使用
    数组的基本概念 什么是数组 数组是具有相同类型元素的集合,在内存中连续存储。 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3. 每个空间有自己的编号,起始位置的编号为0,即数组的下标 数组的创建及初始化 数组的创建 T[] ...
    99+
    2023-09-02
    算法 数据结构 java 开发语言
  • Java数组的定义与使用
    目录一.一维数组的定义1.创建数组2.初始化数组二.数组的使用1.访问数组2.遍历数组3.修改数据内容三.有关数组方法的使用1.toString2. copyOf四.查找数组中的元素...
    99+
    2023-05-17
    Java数组 Java数组的定义 Java数组的使用
  • 【Java.SE】数组的定义与使用
    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏:Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容 ...
    99+
    2023-08-16
    java 数据结构 开发语言
  • Java中数组的定义与使用
    目录一、数组的基本用法1.什么是数组2.创建数组3.数组的使用二、数据作为方法参数1.基本用法2.理解引用类型3.认识null4.JVM内存区域划分5.数组作为方法的返回值6.关于数...
    99+
    2024-04-02
  • TypeScript数组的定义与使用详解
    目录基本定义声明数组时直接初始化访问数组Array对象声明数组时指定数组大小两种定义方式声明多维数组(含泛型)普通版泛型版类数组数组解构通过接口描述数组数组迭代基本定义 声明数组时直...
    99+
    2024-04-02
  • 详解JavaSE中抽象类与接口的定义及使用
    目录一、抽象类1、抽象类定义2、抽象方法二、接口1、接口定义2、类实现接口3、接口与多态联合4、extends和implements5、接口在开发当中的作用6、is has like...
    99+
    2024-04-02
  • Java中数组的定义与使用详解
    目录数组的基本概念数组引用传递数组静态初始化二维数组总结数组的基本概念 如果说现在要求你定义100个整型变量,那么如果按照之前的做法,可能现在定义的的结构如下: int i1, ...
    99+
    2024-04-02
  • JavaSE中抽象类与接口怎么定义及使用
    这篇文章主要介绍“JavaSE中抽象类与接口怎么定义及使用”,在日常操作中,相信很多人在JavaSE中抽象类与接口怎么定义及使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaSE中抽象类与接口怎么定义...
    99+
    2023-07-02
  • Java中数组如何定义与使用
    这篇文章主要为大家展示了“Java中数组如何定义与使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中数组如何定义与使用”这篇文章吧。数组的基本概念如果说现在要求你定义100个整型变量,...
    99+
    2023-06-25
  • 【JAVA】 javaSE中的数组|数组的概念&使用
    数组的概念 什么是Java中的数组 数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。在java中,包含6个整形类型元素的数组,可以看做是酒店中连续的6个房间. 数组中存放的元素其类型相同 数组的空间是连在一起的 每个...
    99+
    2023-08-31
    java 开发语言
  • Java基础教程之数组的定义与使用
    目录一.数组的基本概念二.数组的声明三.数组的创建及初始化1.数组的创建2.数组的初始化四.访问数组元素 五.for each 循环 六.数组的拷贝 七.数组排序 八.二维数组 总结...
    99+
    2024-04-02
  • Java深入浅出数组的定义与使用上篇
    目录一、数组的基本用法1.什么是数组2.定义数组 3.数组的使用打印数组: 二、数组作为方法的参数基本用法三、数组练习题1.交换两个变量的值2.写一个方法, 将数组中的每个元素都 *...
    99+
    2024-04-02
  • Java深入浅出数组的定义与使用下篇
    接着上一篇继续,老铁们 1.检查数组的有序性 给定一个整型数组, 判断是否该数组是有序的(升序) public static boolean isUp(int[] arr...
    99+
    2024-04-02
  • 【javaSE】 枚举与枚举的使用
    文章目录 🎄枚举的背景及定义⚾枚举特性总结: 🌲枚举的使用🚩switch语句🚩常用方法📌示例一Ὄ...
    99+
    2023-09-20
    java 开发语言 枚举 源码 反射
  • 【javaSE】 反射与反射的使用
    文章目录 🌲反射的定义🎍反射的用途🌴反射基本信息🍀反射相关的类🚩Class类(反射机制的起源 )🎈...
    99+
    2023-09-16
    开发语言 java 反射
  • julia数组怎么定义和使用
    在Julia中,可以使用以下方式定义和使用数组:1. 定义一维数组:```juliaarray = [1, 2, 3, 4, 5] ...
    99+
    2023-09-21
    julia
  • Java中数组怎么定义使用
    这篇文章主要为大家展示了“Java中数组怎么定义使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中数组怎么定义使用”这篇文章吧。一、数组的基本用法1.什么是数组数组:存储一组相同数据类...
    99+
    2023-06-29
  • VB中的数组怎么定义及使用
    在VB中,可以使用`Dim`关键字来定义数组。定义数组时需要指定数组的长度或维度。1. 一维数组的定义和使用:```vbDim ar...
    99+
    2023-09-15
    VB
  • Golang中的数组怎么定义和使用
    这篇文章主要介绍“Golang中的数组怎么定义和使用”,在日常操作中,相信很多人在Golang中的数组怎么定义和使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Golang中的数组怎么定义和使用”的疑惑有所...
    99+
    2023-07-04
  • Java对象数组定义与用法详解
    Java对象数组是一种用于存储多个相同类型的对象的数据结构。它可以按照一定的顺序存储和访问对象,并且可以根据需要进行动态调整大小。要定义一个对象数组,可以使用以下语法:```ClassName[] arrayName = new Cla...
    99+
    2023-08-09
    Java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作