java 数组创建的方法

news2024/10/7 2:19:44

 

数组是一个由一组元素组成的集合,我们可以用一个数组来表示集合。 java中最基本的数据类型是字符串,其长度是固定的,且不可变,一个字符串只能以一个数字开头。 在 Java中我们可以通过 myConst关键字来指定数组的长度。下面就看一下 myConst参数和 array参数的区别: myConst中使用了 int*来初始化数组中所有元素的长度; array中使用了 array*来初始化所有元素的长度。 在我们实际编写代码时,需要根据我们所使用的数组类型来选择合适的 myConst参数,从而实现我们想要的效果。 数组类型包括整型、字符型和布尔型。 整型是可以转换为其他类型,但不能转换为布尔型,例如: 字符数组(String)是一种特殊的数组,它是一个长度固定的数组,其长度为1;布尔数组(False String)则不是一个固定长度的数组,其长度与元素类型无关。 如果我们用 int或 string来创建一个字符数组,会发生什么呢?

  • 1.创建数组

    下面我们来看一个简单的例子。 在这个例子中,我们只需要两个变量,一个是数组长度,另一个是数组的个数。当我们把数组长度设置为1时,它就是一个长度为1的字符数组;而当我们把数组的个数设置为2时,它就是一个长度为2的字符数组。 当我们使用 int来创建数组时,这个方法是最简单的,也是最有效的。在创建数组时,我们首先需要将数据类型转换为 int类型,然后再将数据类型转换为字符类型,最后将字符数组转换为数组。 在这个例子中,我们首先定义了一个 int变量和一个 result变量。然后我们创建了两个数组对象。 第一个数组对象是包含6个元素的字符数组(即 arr=0);第二个数组对象包含7个元素(即 arr=7)。 当我们使用 result变量来存储字符数组对象时,如果我们想要在返回值中返回一个字符串类型的值时,我们可以通过方法 result将该字符串转换为字符数组。在这个例子中,我们使用了 result变量来存储字符串类型的值(即 arr=0)。上面这个例子中使用了两种不同的方法来创建数组,这两种方法各有优缺点。 使用 result变量来存储字符数组对象时,需要将原始数据类型转换为字符数组对象,然后再对字符数组对象进行存储。这样做会产生两个问题:首先是从原始数据类型到字符数组的转换过程很复杂;其次是对原始数据类型的数据进行重新排序也很复杂。 使用 result变量来存储字符数组会产生下面这些问题: 当我们想要从原始数据类型转换为字符数组会比较复杂。因为这个过程需要将原始数据类型转换为一个新的字符数组类型,而这个新的字符数组类型会比原始数据类型大一些。 对原始数据进行重新排序也很复杂。因为原始数据类型可能不是整数,也可能是浮点数。重新排序之后很有可能会使整个数据结构变得混乱不堪。 但是我们可以使用 int和 result来存储数组对象,这样就可以避免这些问题了。 上面这个例子中使用了两种方法来创建数组对象:第一种方法是使用 int或 result变量来存储字符数组值;第二种方法是使用 result变量来存储字符数组对象。这两种方法都有各自的优点和缺点。 下面再看一下两个例子的结果: 通过上面的分析我们可以看出,采用 result变量来存储字符数组值的方法会更加有效一些。

  • 2.调用数组的方法

    我们先看一下下面的例子: 上面这段代码中,我们首先定义了一个数组,然后使用 myConst关键字来获取数组中的第一个元素。这个方法虽然简单,但很容易出现内存泄漏,因为在 myConst中 myNum是一个常量,它的值为0。如果我们在使用这个方法时,直接使用0来初始化数组中的元素,就会导致数组中的第一个元素为0。我们可以通过以下代码来解决这个问题: 上面这段代码是使用 myNum方法来初始化一个数组。在使用 myNum方法时,首先要获取到数组中第一个元素的值。我们可以使用如下代码来获取第一个元素: 上面这段代码中,我们先用0初始化了数组中的第一个元素为0。然后我们将第一个元素设置为0,这样就可以使数组中的所有元素都为0。为了避免这个问题的出现,我们可以先初始化数组中的第一个元素为0,然后再使用 myNum方法来初始化数组中的其他元素。 这种方法虽然简单,但很容易出现内存泄漏。下面我们来看一下通过 myNum方法如何创建一个字符数组: 以上四种方式是 java常用的创建数组的方法。在实际使用时,我们需要根据自己所使用的数组类型来选择合适的创建方式。以上四种创建数组的方式在实际编写代码时都需要进行二次调用。

  • 3.使用 set或 myList函数来创建一个数组

    在 Java中可以通过 set函数或 myList函数来创建一个数组。set函数返回一个空集合,用于存储集合的索引值; myList函数返回一个可用于存储集合的索引值的列表。set函数会从数组的第一个元素开始遍历,然后将其添加到数组中的任意一个位置,当 set的值为0时,则创建了一个新的数组。例如: 使用 set方法来创建一个长度为4的数组。当我们创建第一个元素时,数组就会创建四个元素。 如果我们要创建一个长度为6的数组,我们需要先在数组中创建两个长度为6的元素: set函数是非常常用的一种创建数组的方法,它与 myList函数很相似。但是 set函数比 myList函数要快得多。当我们想要将两个或两个以上数组合并成一个新数组时,我们可以使用 set函数;如果我们只想创建一个长度为6的数组,我们可以使用 myList函数。

常用的java数组创建代码 :

1. 创建一个长度为5的int类型数组:
```
int[] arr = new int[5];
```
2. 创建一个长度为3的String类型数组:
```
String[] arr = new String[3];
```
3. 创建一个长度为4的double类型数组并初始化:
```
double[] arr = {1.2, 3.4, 5.6, 7.8};
```
4. 创建一个二维数组:
```
int[][] arr = new int[3][4];
```
5. 创建一个三维数组:
```
int[][][] arr = new int[2][3][4];
```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

直线飙升到10万+star的AutoGpt,有多强?帮我写了个网页!

先来感受一下10万的star,到底有多强! 从4月2日开始,直线飙升到10万star Auto-GPT是一个实验性的开源应用程序,展示了GPT-4语言模型的功能。这个程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的…

CTO解读:从“RSAC 2023”到“韧性数据安全”—Stronger Together

一年一度RSA Conference已落下帷幕。作为全球最具规模的安全大会,每年一届的RSAC都是安全行业的风向标。 2023年RSAC的主题是:Stronger Together,一起更强大。安全产品往往是场景化的,单点产品解决不同的问题,有机的整…

QT自制软键盘 最完美、最简单、跟自带虚拟键盘一样

QT自制软键盘 最完美、最简单、跟自带虚拟键盘一样 [1] QT自制软键盘 最完美、最简单、跟自带虚拟键盘一样一、本自制虚拟键盘特点二、windows打开系统自带软键盘三、让键盘界面保持在最上方、不改变底层界面焦点四、长按按键重复输入键盘内容五、模拟键盘点击事件完成虚拟键盘…

虹科方案|使用 HK-TRUENAS支持媒体和娱乐工作流程-2

一、支持 M&E 工作流程的HK-TRUENAS 屡获殊荣的 TrueNAS 存储解决方案支持单独的工作空间来存放可在现场或制作室访问的媒体资产。 TrueNAS 提供企业功能,支持多个物理和虚拟应用程序,并具有同步块和文件存储访问。 这些功能允许备份和重新利用视频、…

路由递归配置

路由递归原理 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归 。 路由递归也被称为路由 迭代。 实验配置 路由器R1配置 interface GigabitEthernet0/0/0ip address 192.…

《编程思维与实践》1049.GPS数据处理

《编程思维与实践》1049.GPS数据处理 题目 思路 注记: UTC为世界标准时间(0时区),东区加,西区减. 分两步实现: 1.判断是否为有效的语句: 有效需要满足三个条件: ①语句含$GPRMC,可以通过strstr搜索来判断; ②状态已定位,可以用sscanf来读取判断; ③异或结果与校验值相同,校验值…

【Vue学习笔记6】好用的 Vueuse 工具包

1. 安装Vueuse VueUse 的官方(https://vueuse.org/)的介绍说这是一个 Composition API 的工具集合,适用于 Vue 2.x 或者 Vue 3.x,用起来和 React Hooks 还挺像的。 VueUse 插件的安装 npm install vueuse/core2. 实现全屏功能 …

【三十天精通Vue 3】第二十七天 Vue 3的实战案例-接口进度条

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、安装进度条插件1.1 安装NProgress插件1.2 在Vue3中引入NProgress插件二、在路由中使用进度条2.1 在全局路由中使用进度…

ubuntu20.04安装搜狗输入法

搜狗输入法下载网址: https://shurufa.sogou.com/linux 选择x86_64版本 打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言” 弹出“已安装语言”窗口,勾选中文(简体),点…

【RPC、WebSocket】

文章目录 有HTTP协议为什么还要RPCTCPHTTP 和 RPCHTTP 和 RPC 有什么区别 有HTTP协议为什么还要WebSocket使用HTTP不断轮询长轮询WebSocket怎么建立WebSocket连接 有HTTP协议为什么还要RPC TCP TCP三个特点:面向连接、可靠、基于字节流。 基于字节流 字节流可以理…

Disabled PicPipeline: ImagesPipeline requires installing Pillow 4.0.0 or later

目录 一、scrapy是什么 二、问题以及原因 三、解决办法 1、确保系统已经安装了 Pillow 库。 2、安装 Pillow 库。 3、在项目根目录中添加 Pillow 的 .pth 文件。 一、scrapy是什么 Scrapy是一个用于从网站和Web应用中抓取数据的强大的Python库。Scrapy支持异步I/O和 Scr…

销售数据分析怎么做?这篇文章说清楚了

如何分析销售数据?分析销售数据有哪些指标?销售数据分析有什么作用? 销售数据是不是得通过数据分析软件啊? 本文将为您解答疑惑—— 一、分析销售数据的指标 从两个层面上来讲,一个是对销售情况的整体把控&#xf…

大学校友会管理APP系统开发 重温同学梦再叙校园情

互联网技术的深入发展,让各行各业对网络的依赖都逐渐加深,可以说网络在今天已经成为无数个你我他不可或缺的平台。学生时代是一生中最美好的时期,校友是社会高效重要的社会资本和无形资产,校友与校友之间信息交流也需要依靠互联网…

虚拟化转向容器的新方案,红帽正式推出虚拟化容器统一平台——openshift虚拟化

编辑 | 宋慧 出品 | CSDN 云计算 云原生、容器化,是近年 IT 界主要的话题之一。 数字化转型的浪潮下,技术在朝向更加有利于业务快速迭代的方向发展。据 CSDN 最新年度《中国开发者调查报告》数据显示,近一半的公司(43%&#xff0…

爬虫|Python|ts格式的加密视频合并方法

前言: 爬虫的一些基本概念: 对于爬虫来说,没有道德(比如,某些爬虫上w的并发,那么,一些小站可能就会崩溃,其实爬虫也是可以作为网络攻击的,假设有需要攻击的网站&#x…

Shell 脚本传递参数的两种方式:位置传参与指令式传参

Shell 脚本传递参数的两种方式 方式一:数字传参 直接传参 数字传递可以用$1 $2 $3 ......获取第一个第二个第三个参数,$0获取命令(也就是你的文件名),$#可以查看总的参数个数 以下文件命名为param1(shel…

rk3568平台调试typec口实现uvc输出,网络共享等功能

一、修改kernel相关配置 注意:一定要知道主控接线,那个物理口是otg的,然后要找准与之所连接的phy和控制器。然后处理CC1 CC2识别芯片,fusb302。默认sdk自带有驱动,需要配上中断脚和提供VBUS 5V的脚。用来判断角色是DF…

( “ 图 “ 之 拓扑排序 ) 210. 课程表 II ——【Leetcode每日一题】

❓210. 课程表 II 难度:中等 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。 例如,想要学…

使用 docker 搭建 mysql 主从配置

真正的配置文件是docker中 /etc/my.cnf 拉取镜像 docker pull mysql:5.7启动主数据库和从数据库 docker run -p 3306:3306 --restartalways --name mysql_v1 -v /var/mysql/mysql_v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORDroot -d mysql:5.7 docker run -p 3307:3306 --res…

Neural Network笔记2

torch.nn: Containers: 神经网络骨架 Convolution Layers 卷积层 Pooling Layers 池化层 Normalization Layers 正则化层 Non-linear Activations (weighted sum, nonlinearity) 非线性激活 Convolution Layers Conv2d torch.nn.Conv2d(in_channels, out_channels, ke…