java 数组的一些内容

2021-05-19  本文已影响0人  Vector_Wan
  1. 声明的时候可以使用 new 或者是使用 {} 数组快捷初始化,但是注意必须将 声明、创建和初始化都放在同一条语句中,将他们分开会发生错误。

  2. 创建完数组之后,每个元素的值是这个类型的默认值,数值型为 0、0.0,布尔型为 false,引用类型为 null。

  3. 接收命令行参数
    主函数 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
  1. 使用随机数初始化数组,用 [0, 100) 的数初始化数组。
int[] myList = new int[10];
for (int i=0; i<myList.length; i++) {
    myList[i] = (int) (Math.random() * 100);
}
  1. 随机打乱:找到一个元素,找随机下标,交换两个元素。
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;
}
  1. 向前向后依次移动
int temp = myList[0];
for (int i=1; i<myList.length; i++) {
    myList[i-1] = myList[i];
}
myList[myList.length-1] = temp;
  1. 复制数组
    赋值语句不能复制引用变量,只有 new 会创建一个新的对象。

复制数组内容,可以新创建一个数组然后使用循环语句逐个复制,或者使用 System 中的静态方法 arraycopy(原数组,原数组位置,目标数组,目标数组位置,长度) ,同样的这个方法不会给目标数组分配内存空间,复制前必须要先创建数组以及分配内存。

上一篇 下一篇

猜你喜欢

热点阅读