java学习笔记(六)—— 数组(看作对象)

一、数组的声明、创建和初始化

首先,与C/C++不同的是,java不允许在声明数组中的方括号内指定数组元素的个数,如:

int a[12];  //错误!

int [12]a;  //错误!

java不允许在方括号内指定个数,而C/C++是必须在方括号内指定个数。

1. 声明、创建、初始化数组的3种方法

首先,什么是声明? int a[]这就是声明了一个数组。什么是创建?new一个才叫创建。初始化就不用解释了吧。

public class Array {
    public static void main(String[] args) {
        //法(一)指定数组元素个数
        int arr[] = new int[3];
        arr[0]=0;
        arr[1]=1;
        arr[2]=2;

        //法(二) 不指定
        float arr2[] = {1.1F,2.2F,3.3F,4.4F};

        //法(三) 不指定
        float arr3[] = new float[]{1.1F,2.2F,3.3F,4.4F};
    }
}

2. length函数获得数组元素的个数

3. 二维数组

1. 创建二维数组的3种方法

public class Array {
    public static void main(String[] args) {
       //法(一):指定元素个数。由2个长度为3的一维数组组成的二维数组
       int arr[][] = new int[2][3];
       arr[0][0] = 0;
       arr[0][1] = 1;
       arr[0][3] = 2;
       
       //法(二)
       int arr2[][] = {{1}, {1,2}, {1,2,3}};
        
       //法(三)
       int arr3[][] = new int[][]{{1}, {1,2}, {1,2,3}};

        //输出二维数组
        for(int i=0; i<arr3.length; i++){
            for(int j=0; j<arr3[i].length; j++){
                System.out.print(arr3[i][j]+" ");
            }
            System.out.println();
        }

    }
}

2. length

int b[][] = new int[2][3];

 b.length的值是它含有的一维数组个数,即2。

3.注意,这种情况下声明了一个一维数组a和一个二维数组b

int []a,b[];

等同于

int a[],b[][];

二、 数组的引用/地址

和C/C++相同,数组名代表首地址。我们来看一下其内存模型。

int a[]={1,2,3};
int b[]={4,5,6};

 

a=b

这时系统将释放最初分配给数组a的元素,使得a指向b的元素(a的首地址变为b的首地址)

 三、Arrays类

1. 因为对于数组来说,我们能用的方法只有length这一个。所以java在util里提供了Arrays类。

2. Arrays类中的方法都是static修饰的,我们可以直接用类名进行调用。

3. 常用方法

import java.util.Arrays;

public class Array {
    public static void main(String[] args) {
      int arr[] = {11,55,66,888,444};
      int arr2[] = {11,55,66,888,444};
      //转化成string
      System.out.println(Arrays.toString(arr));
      //比较两个数组中的元素是否一样
      System.out.println(Arrays.equals(arr,arr2));
      //升序排序
      Arrays.sort(arr);
      System.out.println(Arrays.toString(arr));

    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值