Java数组「建议收藏」

Java数组「建议收藏」1、数组(Array):是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。1)数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基

大家好,又见面了,我是你们的朋友全栈君。

1、数组(Array):是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理。

1)数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用数据类型。

2)创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是 这块连续空间的首地址。

3)数组的长度一旦确定,就不能修改。

按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对 象数组)

2、数组声明方式

type var[] 或 type[] var;

例如:

int a[]; int[] a1;

Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法

3、数据初始化

Java数组「建议收藏」

定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;

每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长 度(元素个数)

4、数组的默认初始值

Java数组「建议收藏」

5、内存简化结构

Java数组「建议收藏」

静态域:放一些被static关键字修饰的变量

常量池:String字符串

int[] arr1 = new int[4]; arr1[0] = 10; arr1[2] = 20; String[] arr2 = new String[3]; arr2[1] = “刘杰”; arr2 = new String[5];

Java数组「建议收藏」

上图中的String字符串不应该放在堆内,应该放在常量池中,这里我们只是大致模拟一下内存。

JVM的垃圾回收机制采用引用计数算法,比如String[] arr2 = new String[3];执行之后,这个arr2上次分配的内存没有被其他变量引用,那么它就会被当成垃圾回收掉。

6、二维数组初始化

Java数组「建议收藏」

Java数组「建议收藏」

int[][] arr1 = new int[4][]; arr1[1] = new int[]{1,2,3}; arr1[2] = new int[4]; arr1[2][1] = 30;

Java数组「建议收藏」

int[][] arr4 = new int[3][]; sysout(arr4[0]);//null
sysout(arr4[0][0]);//报错
arr4[0] = new int[3]; arr4[0][1] = 5; arr4[1] = new int[]{1,2};

Java数组「建议收藏」

 

 

 

7、Arrays工具类的一些方法

Java数组「建议收藏」

8、常见排序算法性能

Java数组「建议收藏」

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154407.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月30日 下午11:00
下一篇 2022年6月30日 下午11:16


相关推荐

  • maven详细教程_maven的安装与配置

    maven详细教程_maven的安装与配置学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)2007-08-2814:01:04标签:maven职场休闲一、前言早就知道maven在java项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java的大腕,大多都是站在掌握了一定maven基础的角度上进行介绍,让我这初学者看的云里雾里不…

    2025年10月7日
    5
  • fast使用教程_ai基础教程入门图文

    fast使用教程_ai基础教程入门图文https://docs.fast.ai/如何利用好FASTAI——新版本fastai-v1.0快速入门https://m.oldpan.me/archives/fastai-1-0-quick-study

    2025年8月27日
    15
  • ICMP协议详解

    ICMP协议详解ICMP协议详解ICMP协议是一个网络层协议。一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成这样的功能–ICMP协议。ICMP协议的功能ICMP协议的功能主要有:1.确认IP包是否成功到达目标地址2.通知在发送过程中IP包被…

    2022年7月12日
    25
  • Maven打包可执行jar包方法大全(史上最全)

    Maven打包可执行jar包方法大全(史上最全)目录打包方法方法一 使用 maven jar plugin 和 maven dependency plugin 方法二 使用 maven assembly plugin 推荐 方法三 使用 maven shade plugin 方法四 使用 onejar maven plugin 方法五 使用 spring boot maven plugin 方法六 使用 tomcat7 maven plugin 参考打包方法方法一 使用 maven jar plugin 和 maven dependenc

    2026年3月16日
    2
  • stagefright概述「建议收藏」

    stagefright概述「建议收藏」一、android结构图(上下文关系)   二、android目录结构 自从android4.2版本之后,媒体的相关代码都放到framework/av/的目录中,俗称”AV工作者”,呵呵(本地代码不是太健全,目录我手动敲,公司代码健全,直接导出目录树)  [plain]viewplaincopyprint?|—– m

    2025年8月9日
    5
  • Nginx的启动(start),停止(stop)命令

    Nginx的启动(start),停止(stop)命令

    2021年10月14日
    138

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号