-
声明的时候可以使用 new 或者是使用 {} 数组快捷初始化,但是注意必须将 声明、创建和初始化都放在同一条语句中,将他们分开会发生错误。
-
创建完数组之后,每个元素的值是这个类型的默认值,数值型为 0、0.0,布尔型为 false,引用类型为 null。
-
接收命令行参数
主函数public static void main(String[] args)
中的args
可以接收命令行传入的参数,是一个字符串的数组,传递的时候可以使用空格分开。如果传递的参数带有空格可以使用双引号。
public class lianxi2 {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
$ javac lianxi2.java
$ java lianxi2 11
11
- 使用随机数初始化数组,用 [0, 100) 的数初始化数组。
int[] myList = new int[10];
for (int i=0; i<myList.length; i++) {
myList[i] = (int) (Math.random() * 100);
}
- 随机打乱:找到一个元素,找随机下标,交换两个元素。
for (int i=myList.length -1; i>0; i--) {
// 随机生成一个数 j 0<=j<=i
int j = (int)(Math.random()*(i+1));
// 交换 myList[i] 和 myList[j]
int temp = myList[i];
myList[i] = myList[j];
myList[j] = temp;
}
- 向前向后依次移动
int temp = myList[0];
for (int i=1; i<myList.length; i++) {
myList[i-1] = myList[i];
}
myList[myList.length-1] = temp;
- 复制数组
赋值语句不能复制引用变量,只有 new 会创建一个新的对象。
复制数组内容,可以新创建一个数组然后使用循环语句逐个复制,或者使用 System 中的静态方法 arraycopy(原数组,原数组位置,目标数组,目标数组位置,长度)
,同样的这个方法不会给目标数组分配内存空间,复制前必须要先创建数组以及分配内存。
网友评论