java数组的定义格式和使用

数组的定义格式:
   1.一维数组的定义格式:
     数据类型[] 数组名=new 数据类型[数组的长度]; //数据类型前后保持一致
       a.动态初始化:动:仅指定长度不指定具体元素值
         int[] arr=new int[3];//定义了一个能存三个元素的数组容器
                              //数组的类型是 int[] 也是一个引用数据类型
                              //即将要存储的元素的类型保修是int类型
       b.静态初始化:静:在定义的数组的时为数组中元素赋值
         int[] arr = { 1, 2, 3, 4 };//定义了一个能存三个元素的数组容器
                              //数组的类型是 int[] 也是一个引用数据类型
                              //即将要存储的元素的类型都是int类型
                              //arr[0]=1,arr[1]=2,arr[2]=3,arr[3]=4
   2.二维数组的定义格式:
    a.二维数组的动态初始化
     数据类型[][] 数组名=new 数据类型[一维数组个数][每个一维数组的长度];
      int[][] arr = new int[3][4];//3个一维数组,每个一维数组长度都是4
   
    b.二维数组的静态初始化

      int[][] arr ={{1,2},{3,4,5},{6,7}}//内层有几个大括号就有几个一维数组

 b.数组的使用
     1.一维数组的使用
      a.取出元素
        System.out.println(arr[0]);//0
        各种类型数组的默认值:
         整数:
           byte,short,int 0
         字符:
           char 空格
         小数:
           float,double 0.0
         布尔:
           boolean false
         引用类型:
           String[] strArr=new String[3];
           strArr[0]默认值为null
           strArr[1]默认值为null
           strArr[2]默认值为null
      b.获取长度
        int len=arr.length;//获取数组的长度
      
      c.为数组元素赋值:
        arr[1]=10//将int类型的10赋值给了arr[1]
                 //此时10将默认的0覆盖掉


      d.数组遍历:
        for (int i=0;i<arr.length;i++) {
              System.out.println(arr[i]);
        }
     2.二维数组的使用
      a.取出元素:
        int[][] arr = new int[3][4];
        System.out.println(arr[0]);//打印第一个一维数组容器的地址值
        System.out.println(arr[0][1]);//打印第一个一维数组第二个元素0
        

        int[][] arr ={{1,2},{3,4,5},{6,7}}
        System.out.println(arr[1][1]);//第二个一维数组的第二个元素
                                      //4
      b.获取长度:
         int[][] arr = new int[3][4];
         int len=arr.length//返回一维数组的个数

      c.维数组元素赋值:
        arr[0][1]=13;//为第1个一维数组的第二个元素赋值为13
     
      d.数组遍历
       int[][] arr = new int[3][4];
        for (int i=0;i<3;i++) {//外层循环控制:遍历到第几个一维数组
             for (int j=0;j<4;j++) {//内层循环控制:遍历当前一维数组的所有元素
                 System.out.println(arr[i][j]);
             }
        }

    3.数组的注意事项:
       a.数组的索引越界异常
        int[] arr = {5,2,1};
       //数组中3个元素,索引 0,1,2
        //System.out.println(arr[3]);//java.lang.ArrayIndexOutOfBoundsException: 3  
       
       b.空指针异常
       int[] arr2 = {1,5,8};
       System.out.println(arr2[2]);
       arr2 = null; // arr2 不在保存数组的地址了(null只能赋值给引用变量,不能给基本类型变量)
       System.out.println(arr2[2]);//java.lang.NullPointerException
       System.out.println(arr2.length);//java.lang.NullPointerException

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值