数组的定义与使用

数组的定义与使用,第1张

数组的定义与使用

目录

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为终点位置 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5722076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存