java学习笔记——05数组

一、数组

  • 数组介绍

    数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。即:数组就是一组数据

  • 数组快速入门

  • 数组的使用

    1. 使用方式1-动态初始化

      (1)数组的定义

      数据类型 数组名[]=new 数据类型[大小]

      int a[]=new int[5];//创建了一个数组,名字a,存放5个int
      

      说明:这是定义数组的一种方法。为了让大家明白,我画数组内存图说明

      (2)数组的引用(使用)

      数组名[下标/索引/index]比如:你要使用a数组的第3个数a[2]

    2. 使用方式2-动态初始化

      (1)先声明数组

      语法:数据类型 数组名[];也可以数据类型[] 数组名;

      int a[];或者int[] a;

      (2)创建数组

      语法:数组名=new 数据类型[大小];

      a=new int[10];

    3. 使用方式3-静态初始化

      初始化数组

      语法:数据类型 数组名[]={元素值,元素值…}

      int a[]={2,5.6,7,8,89,90,34,56};
      

      如果知道数组有多少元素,具体值上面的用法相当于:

      int a[]=new int[9];
      a[0]=2;a[1]=5;a[2]=6; 
      a[3]=7;a[4]=8;a[5]=89;
      a[6]=90;a[7]=34;a[8]=56;
      
  • 数组使用注意事项和细节

    1. 数组是多个相同类型数据的组合,实现对这些数据的统一管理

    2. 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。

    3. 数组创建后,如果没有赋值,有默认值

      int 0, short 0, byte 0, long 0, float 0.0 , double 0.0, char \u0000,boolean false, String null

    4. 使用数组的步骤1声明数组并开辟空间2给数组各个元素赋值3使用数组

    5. 数组的下标是从0开始的。

    6. 数组下标必须在指定范围内使用,否则报:下标越界异常,比如
      int []arr=new int[5];则有效下标为0-4

    7. 数组属引用类型,数组型数据是对象(object)

  • 数组赋值机制

    1. 基本数据类型赋值,这个值就是具体的数据,而且相互不影响。

      int n1 = 2;int n2 =n1;
      
    2. 数组在默认情况下是引用传递,赋的值是地址。

      int[] arr1 = {1,2,3};
      int[] arr2 = arr1;
      

二、多维数组(以二维数组为例)

  • 多维数组
    如果数组的维数不止一个就可以被称为多维数组

下面以二维数组为例介绍一下多维数组的使用

  • 二维数组的使用

    1. 使用方式1:动态初始化

      1)语法:类型[] [] 数组名=new 类型[ 大小 ] [ 大小 ]

      2)比如:int a[] []=new int[2] [3]

    2. 使用方式2:动态初始化
      1)先声明:类型 数组名[] [];

      2)再定义(开辟空间) 数组名 = new 类型[大小] [大小]

      3)赋值(有默认值,比如int类型的就是0)

    3. 使用方式3:动态初始化-列数不确定

      public class td{ 
      	public static void main(String[] args){
      	    /*
      		看一个需求:动态创建下面二维数组,并输出
      		i = 0 : 1
      		i = 1 : 2 2
      		i = 2 : 3 3 3
      		一个有三个一维数组,每个一维数组的元素是不一样的*/
      
      		int[][]arr = new int[3][];//创建二维数组,但是只是确定一维数组的个数
      		for(int i =0; i < arr.length; i++){//遍历arr每个一维数组
      		    //给每个一维数组开空间new
      		    //如果没有给一维数组new,那么arr[i]就是null
      		    arr[i] =new int[i + 1];
      		    //遍历一维数组,并给一维数组的每个元素赋值
      		    for(int j = 0; j < arr[i].length; j++){
      		        arr[i][j]=i + 1;//赋值
      		    }
      		}
      		System.out.println( "=====arr元秦=====");
      		//遍历arr输出
      		for(int i = 0; i < arr.length; i++){
      		    //输出arr的每个一维数组
      		    for(int j = 0; j < arr[i].length; j++){
      		        System.out.print(arr[i][j] + " ");
      		    }
      		    System.out.println();//换行
      		}
      	}
      }
      
    4. 使用方式4:静态初始化

      1)定义类型数组名[] []={{值1,值2…},{值1,值2…},{值1,值2…}}

      2)使用即可[固定方式访问]

  • 二维数组使用细节和注意事项

    1.一维数组的声明方式有:
    int[] x或者int x[]

    2.二维数组的声明方式有:

    int[] [] y或者int[] y[]或者int y[] []
    3.二维数组实际上是由多个一维数组组成的,它的各个一维数组的长度可以相同,
    也可以不相同。比如:map[] []是一个二维数组
    map [] [] ={{1,2},{3,4,5}}
    由map[0]是一个含有两个元素的一维数组,map[1]是一个含有三个元素的一维数组构成,我们也称为列数不等的二维数组。

  • length的使用
    对于一维数组,“数组名.length”的值就是数组中元素的个数;对于二维数组,“数组名.length”的值是它含有的一维数组的个数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值