数组的初始化有两种方式
静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度。如:
java" id="highlighter_125811">
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