Java中的字符数组| Java 字符数组
已发表: 2020-12-01目录
介绍
我们今天处理的大多数数据都包含字符,如果程序员熟悉并提供处理字符数据的方法,则可以说编程语言很灵活。
java中的char数组非常有用且易于使用,字符串在java中是不可变的,但我们可以操作char数组中的条目。 与列表和集合相比,字符数组更快,甚至比集合和列表更简单。
现在让我们探索 char 数组的工作原理!
声明和初始化
char 数组的声明类似于 java 中常规数组的声明。 “char[] array_name”或“char array_name[]”是声明时要遵循的语法。
声明之后,接下来我们要做的就是初始化。 “array_name = new char[array_length]”是要遵循的语法。 无论如何,我们可以使用“char array_name[] = new char[array_length]”语法在一个单一的过程中进行声明和初始化。 数组的长度应在初始化时在 char 数组中声明。
| 公共类测试{ 公共静态无效主要(字符串args []) { //声明-1 字符arr[]; arr =新字符[ 4 ]; //声明-2 字符arr2[] =新字符[ 4 ]; //赋值-1 char arr1[] =new char []{ ' a ' , ' b ' , ' c ' , ' d ' }; //赋值-2 arr[ 0 ] = '一个' ; arr[ 1 ] = ' b ' ; arr[ 2 ] = ' c ' ; arr[ 3 ] = ' d ' ; 系统。 出来。 println(arr); 系统。 出来。 println(arr1); } } |
在上面的代码片段中,declaration-1 和declaration-2 都是声明和初始化的方式。 而assigning-1 和assigning-2 都是将条目推送到数组的两种方式。 请记住,当我们打印一个 char 数组时,它会将所有合并为字符串的字符打印出来,在上述情况下,输出将是“abcd”。

了解更多: Java 中的事件处理:它是什么以及它是如何工作的?
循环一个 char 数组
在 char 数组上循环是 java 中一项有趣的任务,我们可以使用常规的“for 循环”或“for:each”循环来循环数组。
| //循环-1 for ( int i = 0 ;i < arr .length ; i ++ ) 系统。 出来。 打印(arr [i]); //循环-2 对于(字符c : arr) 系统。 出来。 打印(c); |
在上面的代码片段中,loop-1 是一个常规的 for 循环,循环 1 的最终输出将是“abcd”。 而loop-2是一个for:每个循环和loop-2的最终输出都是“abcd”。
字符数组的长度可以使用 length 属性来获得。 “Array_name.length”是要遵循的语法。
| char数组[] =new char []{ ' h ' , ' e ' , ' l ' , ' l ' , ' o ' }; 系统。 出来。 println(数组。长度); |
正如预期的那样,上面的代码片段打印了 5。
报名参加世界顶尖大学的软件工程课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
对字符数组进行排序
java中的数组可以使用“Arrays.sort(array_name)”进行排序。 这将按字典顺序对传递的字符数组进行排序。

| char [] 数组= { ' h ' , ' e ' , ' l ' , ' l ' , ' o ' }; 数组。 排序(数组); 系统。 出来。 println(数组。toString(数组)) ; //第1行 系统。 出来。 println(数组); //第2行 |
请注意,我们需要导入 java.util.Arrays 才能使 Arrays.sort() 和 Arrays.toString() 工作。
在上面的代码片段中,char 数组按字典顺序排序,打印数组会将合并为字符串的字符打印出来。 “line2”的输出将是“ehllo”,如果您不将输出作为合并字符串,而是希望在末尾使用方括号打印整个数组,那么 Arrays.toString() 就可以完成这项工作。 “line1”的输出将是 [e, h, l, l, o]。
在前面的代码片段中,我们通过填充数组中的条目来声明 char 数组,但是如果我们想将字符串转换为 char 数组怎么办?
无论如何,我们用字符串长度初始化一个 char 数组,遍历字符串,并将每个字符附加到数组中就可以了。
| 字符串s = “你好” ; 字符[] arr =新字符[s . 长度()]; for ( int i = 0 ;i < s .length() ; i ++ ) arr[i] = s 。 字符 (i); 系统。 出来。 println(数组。toString(arr)) ; |
上面的代码片段将按预期打印 [h, e, l, l,o]。
上面的代码片段将完成将字符串转换为 char 数组的艺术,但是每次我们要将字符串转换为 char 数组时是否需要编写这么长的代码? 好吧,答案是否定的。
Java 提供了一个称为 toCharArray() 的漂亮方法,该方法必须应用于字符串并返回 char 数组。
| 字符串s = “ aejou ” ; 字符[] arr = s 。 toCharArray(); 系统。 出来。 println(数组。toString(arr)) ; //第1行 arr [ 2 ] = '我' ; 系统。 出来。 println(数组。toString(arr)) ; //第2行 |
正如预期的那样,“line1”打印 [a, e, j, o, u] 作为输出。 正如已经讨论过的,与字符串不同,我们可以编辑或操作 char 数组的条目。 所以 line2 的输出将是 [a, e, i, o, u]。
现在我们已经看到了在 java 中将字符串转换为 char 数组的方法,如果我们想要一个反之亦然的任务怎么办?
没关系,java 也有执行此类任务的方法。

| char [] arr = { ' h ' , ' e ' , ' y ' , ' ' , ' t ' , ' h ' , ' e ' , ' r ' , ' e ' }; 字符串s1 =新字符串(arr); //方法1 系统。 出来。 println(s1); 字符串s2 =字符串。 值(arr); //方法2 系统。 出来。 println(s2); |
在上面的代码片段中,我们可以看到将 char 数组转换为字符串的两种方法。 正如预期的那样,上述代码段的输出将是“嘿,那里”。
另请阅读:初学者的 17 个有趣的 Java 项目想法和主题
结论
我们开始了解什么是 char 数组,学习了各种初始化和声明 char 数组的方法。 浏览了一个用于循环 char 数组的片段。 使用预定义的 Arrays.sort() 方法对 char 数组进行排序。
并观察了字符串到字符数组转换的简单和预定义的实现,还观察了使用各种方法的反之亦然实现。 现在您已经熟悉 char 数组的概念,开始实现它们吧!
如果您有兴趣了解有关 Java、OOP 和全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为工作专业人士设计,提供 500 多个小时的严格培训, 9 个以上的项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

