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数组「建议收藏」

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 浅议大数据时代下消防工作、生活和思维的变革「建议收藏」

    浅议大数据时代下消防工作、生活和思维的变革「建议收藏」最近在微信圈流行的段子:一个客户拨打了披萨店的电话,还没说要什么披萨,仅仅告知了他的会员卡号,店员从系统中就知道了他所有个人信息。包括地址、电话、身高体重、医疗记录、过敏史、家里几口人、家里人的健康状态、房贷、个人信用,最后还包括他现在骑着摩托车拨打电话的GPS定位。并针对他目前这些信息定向推销店内减肥的、低糖的、够他家庭6人份的披萨,还指出他最好用现金…

  • pytorch 自定义卷积核进行卷积操作[通俗易懂]

    pytorch 自定义卷积核进行卷积操作[通俗易懂]一卷积操作:在pytorch搭建起网络时,大家通常都使用已有的框架进行训练,在网络中使用最多就是卷积操作,最熟悉不过的就是torch.nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=1,bias=True)通过上面的输入发现想自定义自己的卷积核,比如高斯…

  • 什么是前端开发工程师?

    什么是前端开发工程师?前端工程师是web前端开发工程师的简称,它是随着web(WorldWideWeb)发展,细分出来的行业,可以说,它是时代的产物。Web前端开发技术(因为技术的更新,又称为H5开发工程师)主要包括

  • navicat premium 15 J激活码_在线激活[通俗易懂]

    (navicat premium 15 J激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 毕业三年「建议收藏」

    如约而至,一年一度的“毕业N年”系列,2018,毕业三年了。生活这一年生活轨迹变化很大,也清晰了很多。去年底在家里买了房,跟女朋友定了亲,接下来可能就只剩到哪里定居的问题了。学会了做饭,本以为做饭很麻烦,其实逛逛菜市场做做饭,比想象中简单自在多了,很多喜欢吃的东西都可以自己做来试试看,没想到的是,大肠吃着那么香,做起来那么臭,还用一个锅的教训,知道了不粘锅竟然不能用来炸东西。工…

  • 黑盒测试用例编写八大方法

    黑盒测试用例编写八大方法测试用例定义(8要素)测试用例实例什么是黑盒测试只能看见输入输出,不知道被测系统具体实现,仅仅知道对外接口通过输入输出测试常见黑盒测试方法(8个测试方法)等价类测试方法计算机0-100数字计算,要实现加法,最笨的方法是要两两相加,一旦数据多了就很难完成定义:在所有测试数据中(有满足要求的也有不满足要求的),挑选出具有某种共同特征的数据子集(把所有数字进行分类,可以根据需求来分,要求是0-100,满足要求的是一类,不满足要求的是一类)线性情况:像0-100数据线性增加word修

发表回复

您的电子邮箱地址不会被公开。

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