Java_010 Java数组


一、数组是什么?

  • 数组(array)是具有相同数据类型的元素的组合的集合,可以使用共同的名字来应用它。
  • 数组可以被定义为任何类型,可以是一维或多维。
    特别的,数组中的元素是要通过下表来访问它。

二、数组的特点

  • 是相同数据类型的元素集合。
  • 数组中的元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
  • 每个数组元素用整个数组的名字和它在数组中的顺序位置来表达。

定义形式一般如下:

int arr[] = new int[10];
int []arr = new int[10];
int[] arr = new int[10];

数组元素类型 数组名[];
数组元素类型[] 数组名;
数组元素类型 []数组名;
或者写为另一种形式:

int arr[] = null;
arr = new int [10];
int []arr = null;
arr = new int[10];
int[] arr = null;
arr = new int[10];

1.数组的静态初始化

代码如下:
1.

//An improved version of the previous program.
 class AutoArray
 public static void main(String[] args) {
        int month_days[] = {31, 28, 31, 30, 31, 30, 31, 31, 31, 30, 31, 30, 31, 30, 31};
        System.out.println("April has "+ month_days[3] + " days.");
    }

2.

public class Demo01 {
    public static void main(String[] args) {
        int[] nums;//声明一个数组

        nums = new int[10];//这里可以存储10个数据

        nums[0] = 1;
        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        nums[4] = 5;
        nums[5] = 6;
        nums[6] = 7;
        nums[7] = 8;
        nums[8] = 9;
        nums[9] = 10;
        //给数组中的元素赋值
        System.out.println(nums[9]);
        //计算所有元素的和
        int sum = 0;
        for (int i = 0; i < nums.length; i++){
            sum = sum + nums[i];
        }

        System.out.println("总和为"+sum);
    }
}

注意点:

  • Java 严格地检查已保证不会意外地存储或引用在数组范围以外的值。
  • Java 的运行系统会检查以确保所以的数组下标都在正确的范围以内(在这方面,Java 与 C 和 C++ 在根本上不同)
  • 在Java语言中的声明数组时,无论用何种方式定义数组,都不能指定其长度,例如,下面的定义将是非法的。
int ia[5]; //编译时将出错

三、多维数组

1.多维数组

定义

多维数组实际上是数组的数组,但是这些数组在形式和行为上并不完全相同。

1.下面语句定义了一个名为 twoD 的二维数组变量:

int twoD[][] = new int[4][5] 

代码示例:

public class TwoDArray {
    public static void main(String[] args) {
        int twoD[][] = new int[4][5];
        int i, j, k = 0;
        for (i = 0; i < 4; j++) {
            twoD[i][j] = k;
            k++;
        }
    }
     for (i = 0; i <4; i++){
        for (j = 0; j < 5; j++) {
            System.out.println(twoD[i][j] + " ");
        }
       System.out.println();
    }
}

四、数组操作的相关方法

下面介绍其中两个数组操作的相关方法:

1.使用System.arraycopy()方法复制数组

System.arraycopy(sourse, 0, dest, 0, x);

该语句的意思是:复制源数组中从下标0开始的x个元素到目的数组,从目标数组的下标0所对应的位置开始存储。
示例程序:

public class example_08 {
    public static void main(String[] args) {
        int aLength = 2;
        int[] arryA = new int[]{0, 1, 2, 3, 4, 5, 6, 7};
        int[] arryB = new int[]{33, 44, 55};
        System.arraycopy(arryA, 0, aLength, 0, 2);
        }
    }

参考运行结果:

arrayB: 0, 1, 55

注意:
复制的数组的元素的个数要小于目的数组的长度,否则会产生异常。

2.使用Arrays.sort()来给数组中的元素排序

下面的例子是随机生成10个随机数,并且按照升序排列,然后把排序后的数组打印出来:

import java.util.Arrays;

public class example_08_01 {
    public static void main(String[] args) {
        int[] num = new int[10];//可以根据自己的需要定义产生几个随机数
        System.out.println("产生的随机数为:");
        for (int i=0; i<10; i++){
            num[i] = (int)(Math.random()*100);
            System.out.println(num[i]+" ");
        }
        System.out.println();
        Arrays.sort(num);
        System.out.println("排序后的随机数为:");
        for (int i= 0; i<10; i++){
            System.out.println(num[i]+" ");
        }

    }
}

其中一次运行结果:

产生的随机数为:
65 
91 
20 
99 
26 
9 
68 
34 
76 
91 

排序后的随机数为:
9 
20 
26 
34 
65 
68 
76 
91 
91 
99 

图片来自 遇见狂神说

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值