【24小时创业】2022年8月18日
06-17
朋友们大家好,我是喵手。今天我想跟大家分享一下我日常学到的一些知识点,用文字的形式和大家交流,互相学习。
虽然一个人可以走得更快,但一群人可以走得更远。我是一名后端开发爱好者,日常工作中接触最多的语言就是Java语言,所以我尽量利用业余时间将自己所学到的东西以文章的形式输出,希望以这种方式提供帮助。
对于更多初学者或者想要入门的朋友来说,也可以积累自己的技能,复习,检查不足。朋友们,在审稿过程中,如果您觉得文章不错,请点赞、收藏、关注。
三联是对作者和我在写作道路上最好的鼓励和支持!前言?在Java程序开发中,数组是一种非常常用的数据类型。数组的初始化是使用数组存储和处理数据的关键步骤之一。
然而,Java 数组的初始化常常令人困惑。本文将详细介绍Java数组的初始化方法,帮助读者告别关于Java数组初始化的困惑。
摘要?本文将通过源码分析、应用场景案例、优缺点分析、类代码方法介绍、测试用例等来介绍Java数组的初始化方法。 Java数组简介什么是数组数组是Java中的容器可以存储多个相同类型的数据。
Java数组是数据结构中最基本的数据类型之一,是一种线性数据结构。数组的元素可以通过下标来访问,下标从0开始计数。
Java数组的初始化 Java数组的初始化是在定义数组时为数组分配空间并为数组元素赋予初始值的过程。 Java数组可以通过以下几种方式进行初始化: 静态初始化:定义数组时,直接给数组元素赋初始值;动态初始化:定义数组时,只需指定数组的长度,使用时为其元素赋值即可。
源码分析 静态初始化 静态初始化是在定义数组时直接给数组元素赋值的一种方法。静态初始化可以使用以下两种方法: 第一种方法:定义数组时给数组元素赋一个初始值。
代码语言:java copy int[] arr = {1, 2, 3};代码分析:?这是一条语句,并初始化一个名为arr的整型数组,包含三个元素,值分别为1、2、3。可以通过以下方式访问数组中的元素: arr[0]:访问第一个元素,值为 1 arr[1]:访问第二个元素,值为 2 arr[2]:访问第三个元素,值为3 第二种方式:先定义数组,然后给数组元素赋初始值。
代码语言:java copy int[] arr; arr = new int[]{1, 2, 3};代码分析:这段代码声明了一个整型数组变量arr,然后使用new操作符创建了一个长度为3的整型数组并赋予其初始值{1,2,3},最后将数组的引用赋给了arr 变量。可以通过以下方式访问数组中的元素: 代码语言:java copy arr[0] // 访问第一个元素,即 1 arr[1] // 访问第二个元素,即 2 arr[2] // 访问第三个元素,即3个动态初始化,动态初始化是一种在定义数组时只指定数组长度,在使用时为其元素赋予初始值的方式。
可以使用以下方法进行动态初始化: 代码语言:java copy int[] arr = new int[3]; arr[0] = 1; arr[1] = 2; arr[2] = 3;代码分析:??上面的代码定义了一个整型数组arr,数组长度为3,接下来分别为索引为0、1、2的数组元素赋值1、2、3。最后数组arr中存储的值为{1,2,3}。
应用场景 静态初始化 静态初始化可以用来初始化一个不变的数组。代码语言:java copy Final int[] arr = {1, 2, 3};代码分析:这段代码定义了一个名为arr的int类型数组,包含三个元素1、2、3。
由于使用了final关键字,意味着该数组是一个不可修改的常量数组。动态初始化 动态初始化可用于初始化可变数组,例如从控制台输入数据。
代码语言:java copy Scanner Scanner = new Scanner(System.in); int n = Scanner.nextInt(); int[] arr = 新 int[n]; for (int i = 0; i < n; i++) { arr[i] =scanner.nextInt();} 代码分析:这段代码使用了Java中的Scanner类,该类可以用来从扫描仪中读取用户输入的数据安慰。代码首先通过nextInt()方法读取一个整数n。
该整数表示接下来要输入的数组的长度。然后,代码创建一个长度为 n 的整数数组 arr 并通过 for 循环遍历该数组,以将用户输入的每个整数存储到数组中。
最终结果是一个由用户输入的n个整数组成的数组。优缺点分析:静态初始化的优点是代码简洁,易于理解;数组的初始化可以一步完成。
缺点仅适用于已初始化的不可变数组;不支持在运行时动态生成的数据。动态初始化的优点可以用来初始化变量数组;支持运行时动态生成数据。
缺点:代码比较繁琐;数组的初始化无法一步完成。类代码方法介绍 Array 类 Java 提供了一个 Array 类,其中包含一些操作数组的有用方法。
copyOf方法代码语言:java copy public static
代码分析:这是一个泛型方法,接收三个参数: U[]original:原始数组,需要复制的数组。 int newLength:新数组的长度,即复制后数组的长度。
类\ extends T[]> newType:新数组的类型。?该方法的返回值类型为T[],即复制的数组类型。
由于该方法是泛型方法,因此它可以支持不同类型数组之间的复制,例如将 Integer[] 复制到 String[]。?该方法是利用Java提供的Arrays.copyOf方法实现的,将原数组复制到新数组中。
要求原数组和新数组的元素类型必须兼容,即原数组的元素类型是新数组元素类型的子类型。如果原始数组的长度小于新数组的长度,则将使用默认值来填充新数组中未复制的部分。
否则,原数组的所有元素将被复制到新数组中。?最后返回的是一个新的数组,其类型为T[],即复制后的数组类型。
需要注意的是,newType参数用于指定新数组的类型,因此需要保证T[]是newType类型的子类型。代码语言:java copy int[] arr1 = {1, 2, 3}; int[] arr2 = Arrays.copyOf(arr1, arr1.length);代码分析:这段代码定义了两个int数组,arr1和arr2。
?第一行初始化arr1,其中包含三个元素1、2和3。?第二行使用Arrays.copyOf()方法将arr1复制到arr2。
?因此,执行第二行代码后,arr2中也包含了三个元素1、2、3,并且arr1和arr2分别指向不同的内存地址,互不干扰。 sort 方法代码语言:java copy public static void sort(int[] a) 该方法用于对数组进行排序。
代码分析:?这是一个静态方法,可以通过类名直接调用。方法名称为sort,参数为整型数组a。
?该方法实现的功能是对传入的整型数组a进行排序。具体排序算法未知。
代码分析:这段代码定义了一个静态方法sort,它接受一个整型数组a作为参数,并且没有返回值。该方法的作用是对传入的数组a进行排序。
?代码中没有给出具体的实现方法和排序算法。您需要根据上下文和方法命名进行猜测。
您可以使用一些排序算法(例如冒泡排序、插入排序、快速排序等)对数组进行排序。代码语言:java copy int[] arr = {3, 1, 2};Arrays.sort(arr);代码分析:这段代码创建了一个数组 arr ,其中包含三个整数,即 {3, 1, 2} 。
然后使用 Arrays 类中的 sort() 方法对数组进行排序,在这种情况下,数组中的元素将按升序排列。因此,执行代码后,数组arr的值就变成了{1,2,3}。
toString方法代码语言:java copy public static String toString(int[] a) 该方法用于将数组转换为字符串,以便于输出或打印。代码分析:?这是一个静态方法,接受一个整型数组a作为参数,返回一个字符串值。
??该方法的作用是将整型数组a转换为字符串并返回该字符串。?它是通过用逗号分隔整数数组 a 的每个元素并将其放在方括号中来实现的。
例如,如果a的值为{1,2,3},则该方法返回的字符串将为“[1,2,3]”。??请注意,此方法返回的字符串中,每个元素均以逗号分隔,并且最后一个元素后面没有逗号。
此外,整个字符串都用方括号括起来。代码语言:java copy int[] arr = {1, 2, 3}; System.out.println(Arrays.toString(arr));代码分析:这段代码创建了一个包含整数 1、2 和 3 的数组,并使用 Arrays 类的 toString 方法将其打印到控制台。
打印结果将是: [1, 2, 3] 这表明数组已正确创建并包含预期值。测试用例代码语言:java copy package com.example.javase.se.array;import java.util.Arrays;/** * @Author ms * @Date 11-14 21:11 */public class ArrayTest2 { public static void main(String[] args) { // 静态初始化 int[] arr1 = {1, 2, 3}; System.out.println(Arrays.toString(arr1)); // 动态初始化 int[] arr2 = new int[3]; arr2[0] = 1; arr2[1] = 2; arr2[2] = 3; System.out.println(Arrays.toString(arr2)); // 数组类 int[] arr3 = {3 , 1, 2}; Arrays.sort(arr3); System.out.println(Arrays.toString(arr3)); }}测试结果 基于以上测试用例,本地测试结果如下,仅供参考,您也可以自行修改测试用例或添加更多测试数据或测试方法,熟练学习加深理解。
测试代码分析基于以上测试用例,我将给大家对测试代码进行深入详细的讲解,以便更多的同学能够理解并加深印象。根据上面的代码分析这是一个Java代码文件,主要演示了Java中数组的初始化和使用。
代码中包含了数组初始化的三种方法: 静态初始化:使用大括号{}来初始化数组,其中包含数组的元素。示例代码:int[] arr1 = {1, 2, 3};动态初始化:使用new关键字创建指定长度的数组,然后使用下标对元素进行赋值。
示例代码:int[] arr2 = new int[3];使用Array类对数组进行操作:使用Java内置的Array类对数组进行排序,示例代码:Arrays.sort(arr3);?最后,通过调用 Arrays. toString() 方法输出数组元素以便于查看。全文总结本文介绍了Java数组的初始化方法,包括静态初始化和动态初始化。
我们还介绍了Array类中一些有用的方法,例如copyOf方法、sort方法和toString方法,并提供了应用场景案例。最后分析静态初始化和动态初始化的优缺点并提供测试用例。
总结?Java数组是Java程序开发中经常使用的一种非常基本的数据类型。本文通过源码分析、应用场景案例、优缺点分析、类代码方法介绍、测试用例等详细介绍了Java数组的初始化方法,读者可以根据介绍和测试更好地了解Java数组的相关知识本文的案例。
……文章结束 好了,以上就是我本期的全部内容了。如果您有任何疑问,请在下方留言。
下一期见。 ……学习无先后顺序,知识无多寡;无论事情大小,都应该虚心求教;三人之中,必有一师! ! !祝你成功! ! ! ??如果你喜欢我,请关注我。
??如果对你有用,请点赞。 ??如果您有任何疑问,请发表评论并告诉我。
我正在参加第五期腾讯科技创造训练营有奖征文比赛。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-17
06-17
06-18
06-18
06-06
06-18
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用