声明数组变量
声明数组变量的语法:
dataType[] arrayRefVar; // 首选的方法
dataType arrayRefVar[]; // 效果相同,但不是首选方法
实例,下面是这两种语法的代码示例:
double[] myList; // 首选的方法
double myList[]; // 效果相同,但不是首选方法
创建数组
Java 语言使用 new
操作符来创建数组,语法如下:
arrayRefVar = new dataType[arraySize];
上面的语法语句做了两件事:
一、使用
dataType[arraySize]
创建了一个数组。二、把新创建的数组的引用赋值给变量
arrayRefVar
。
数组变量的声明,和创建数组可以用一条语句同时完成,如下所示:
dataType[] arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar = new dataType[arraySize] {value0, value1, ..., valuek};
dataType[] arrayRefVar = {value0, value1, ..., valuek};
实例:
int score[] = new int[3]; // 该数组三个元素都是0
int arr[] = new int[] {1,2,3,4,5};
String[] array = {"a","b","c","d","e"}; // 省略 new 也是可以的
数组操作
1.数组长度(length)
int score[] = new int[3];
System.out.println(score.length);
输出:
3
2.遍历数组
int arr[] = new int[] {1,2,3,4,5};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
输出:
1
2
3
4
5
遍历还有一种更方便的写法:
int arr[] = new int[] {1,2,3,4,5};
for (int i: arr) {
System.out.println(i);
}
使用 Arrays 类
Arrays
类包含操作数组的高级方法,要使用 Arrays
要先引入相关的包:
import java.util.Arrays;
1.int 数组转成 string
int arr[]=new int[] {1,2,3,4,5};
String arrStrings = Arrays.toString(arr);
System.out.println(arrStrings);
System.out.println(arrStrings instanceof String);
输出:
[1, 2, 3, 4, 5]
true
2.判断数组中是否包含某一个值(contains)
String[] array = {"a","b","c","d","e"};
if (Arrays.asList(array).contains("a")) {
System.out.println("a 在这里");
}
输出:
a 在这里
3.排序(sort)
int arr[] = new int[] {2,1,5,4,3};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
输出:
[1, 2, 3, 4, 5]
只对某个范围排序:
int arr[] = new int[] {2,1,5,4,3};
Arrays.sort(arr, 0, 3); // 只对0到2位排序
System.out.println(Arrays.toString(arr));
输出:
[1, 2, 5, 4, 3]
4.比较数组是否相等(equals)
String[] names1 = { "Eric", "John", "Alan", "Liz" };
String[] names2 = { "Eric", "John", "Alan", "Liz" };
System.out.println(Arrays.equals(names1, names2));
输出:
true
5.填充数组(fill)
int arr[] = new int[] {2,1,5,4,3};
Arrays.fill(arr, 6); // 整个数组填充为6
System.out.println(Arrays.toString(arr));
输出:
[6, 6, 6, 6, 6]
也可以选择填充数组中某几个位置:
String[] arr = { "Eric", "John", "Alan", "Liz" };
Arrays.fill(arr, 0, 2, "666"); // 填充到数组0到1的位置
System.out.println(Arrays.toString(arr));
输出:
[666, 666, Alan, Liz]