栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数组的定义与使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组的定义与使用

目录

1、定义

2、初始化

3、简单操作 

(1)输出数组长度

(2)获取数据

(3)遍历数组

使用 for 循环遍历

使用 for each循环遍历数组

使用操作数组的工具类 Arrays

(4)数组排序

(5)数组填充值

全部填充同一值

部分填充

4、认识 null 

5、数组作为方法的返回值

6、拷贝数组 


1、定义

        一组连续的空间,存放的是一组相同数据类型的数据

2、初始化

// 动态初始化

数据类型[ ] 数组名称 = new 数据类型 [ ] { 初始化数据 };

 例:int [ ] arr = new int [ ]{1, 2, 3};

        int [ ] arr = new int [ 3 ];       //此时数组的长度为3 默认储存的值为0

// 静态初始化

数据类型 [ ] 数组名称 = { 初始化数据 }; 例: int  [ ] arr = { 1 , 2 , 3 };

注:静态初始化的时候, 数组元素个数和初始化数据的格式是一致的.  

3、简单操作 

         注:此部分的操作默认已初始化数组 array()

(1)输出数组长度
System.out.println(array.length);

下标访问操作不能超出有效范围 [0, length - 1] , 如果超出有效范围, 会出现下标越界异常  

(2)获取数据

 System.out.println(array [ 0 ]);       //获取0下标的数据

(3)遍历数组

使用 for 循环遍历

for(int i=0;i

    System.out.println(array [ i ]); 

}

使用 for each循环遍历数组

for( int val : array){       // 此处第一个参数为与数组同数据类型的变量     第二个参数为数组名

   System.out.println(val);               

}

使用操作数组的工具类 Arrays

String ret = Arrays.toString(array);

 System.out.println(ret);

 使用此方法时  要使用如下语句导包:

import java.util.Arrays;

(4)数组排序

  Arrays.sort(array);

(5)数组填充值

全部填充同一值

Arrays.fill(array,99);      //第一个参数为数组名,第二个参数为填充值

部分填充

Arrays.fill(array,3,6,99) // 第一个参数 为数组名    第二个参数为起始填充位置   第三个                                                    为终止填充位置       第四个参数为  填充值

填充位置近似于左闭右开的区间[3,6),即就是从3下标开始填充到5下标终止 

4、认识 null  null 在 Java 中表示 " 空引用 " , 也就是一个无效的引用
int  [ ] arr = null ; System . out . println ( arr [ 0 ]); // 执行结果 Exception in thread "main" java . lang . NullPointerException at Test . main ( Test . java : 6 )
       null 的作用类似于 C 语言中的 NULL ( 空指针 ), 都是表示一个无效的内存位置 . 因此不能对这个内存进行任何读写操 作. 一旦尝试读写 , 就会抛出 NullPointerException.

 5、数组作为方法的返回值
代码示例 : 写一个方法 , 将数组中的每个元素都 * 2
// 直接修改原数组
 class Test { 
    public static void printArray(int[] arr) { 
        for (int i = 0; i < arr.length; i++) { 
           System.out.println(arr[i]);
         } 
    }
    public static void transform(int[] arr) { 
       for (int i = 0; i < arr.length; i++) { 
            arr[i] = arr[i] * 2;
       } 
    }
    public static void main(String[] args) { 
        int[] arr = {1, 2, 3}; 
        transform(arr); 
        printArray(arr); 
    } 
 }
// 返回一个新的数组
 class Test {

   public static void printArray(int[] arr) { 
    for (int i = 0; i < arr.length; i++) { 
       System.out.println(arr[i]);
     }
  }

  public static int[] transform(int[] arr) { 
    int[] ret = new int[arr.length]; 
    for (int i = 0; i < arr.length; i++) { 
       ret[i] = arr[i] * 2;
     }
    return ret; 
 } 

   public static void main(String[] args) {
       int[] arr = {1, 2, 3}; 
       int[] output = transform(arr); 
       printArray(output); 
  } 
}

6、拷贝数组 

(1)数组名.clone();

int [ ] 数组名 ={  };

int reet = 数组名.clone;

(2)拷贝指定长度数组

Arrays.copyOf( int [ ] 数组名 , length);

  当长度大于拷贝数组长度时补0

(3)拷贝一段数据

Arrays.copyOfRange(int [ ] 数组名,int from, int to);    //from为起始位置    to为终点位置 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/726735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号