数组的初始化有两种方式
静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度。如:
1
|
int [] a1 = new int [] { 1 , 2 , 3 , 4 }; |
动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值。如:
1
|
int [] a = new int [ 5 ]; |
写一个类测试一下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
package chenlizhi; import java.util.arrays; public class testarrays { public static void main(string[] args) { int [] a1 = new int [] { 4 , 3 , 2 , 1 }; int [] a2 = new int [] { 6 , 5 , 7 , 8 }; //排序 升序 arrays.sort(a1); system.out.println( "对a1数组进行排序结果为:" + arrays.tostring(a1)); //arrays.binarysearch(a1, 4) 查找数组中值得下标 前提是必须排序不然不确定 如果有重复的返回第一个 如果没有这个值得话返回负数 system.out.println( "查找a1数组当中4的值下标为:" +arrays.binarysearch(a1, 4 )); //arrays.binarysearch(a1, 1, 4, 4) 查找数组中从1到4下标中有没有值为3的 如果有返回下标 如果没有返回负数 前提必须排序 system.out.println( "查找a1数组从下标1开始到下标3结束,查看是否有为3的值" + arrays.binarysearch(a1, 1 , 3 , 3 )); //arrays.copyof(a1, 5) 复制数组 a1为被复制的数组 5为新数组的长度 int [] a3 = arrays.copyof(a1, 5 ); system.out.println( "a3数组的值为:" + arrays.tostring(a3)); //和上面一样 a1位被复制的数组 2为a1数组开始下标 3a1为数组结束下标 int [] a4 = arrays.copyofrange(a1, 2 , 3 ); system.out.println( "a4数组值为:" + arrays.tostring(a4)); //查看两个数组的length和数组元素是否相同 如果都相同返回true 否则返回false system.out.println( "查看a1数组和a2数组是否相同 :" + arrays.equals(a1, a2)); //把a1数组中的值全部换为 1 arrays.fill(a1, 1 ); system.out.println( "输出a1数组的值为:" + arrays.tostring(a1)); //把a2数组中下标1到下标3的值换为1 arrays.fill(a2, 1 , 3 , 1 ); system.out.println( "输出a2数组的值为:" + arrays.tostring(a2)); } } |
输出结果为:
1
2
3
4
5
6
7
8
|
对a1数组进行排序结果为:[ 1 , 2 , 3 , 4 ] 查找a1数组当中 4 的值下标为: 3 查找a1数组从下标 1 开始到下标 3 结束,查看是否有为 3 的值 2 a3数组的值为:[ 1 , 2 , 3 , 4 , 0 ] a4数组值为:[ 3 ] 查看a1数组和a2数组是否相同 : false 输出a1数组的值为:[ 1 , 1 , 1 , 1 ] 输出a2数组的值为:[ 6 , 1 , 1 , 8 ] |
以上这篇java数组及arrays类对数组的操作实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/chenlizhi/p/7677047.html