java数组

一、数组的定义
        数组是一种数据结构,用来存储固定长度的、同类数据类型的数据容器集合。
二、数组的优缺点
  优点:
    代码优化:可以轻松地检索或排序数据。
     随机性:可以获取任何位于索引位置的数据。
  缺点:
     大小限制,只能在数组中存储固定大小的元素。   
三、数组的类型
      一维数组
      多维数组
四、数组的声明
1 dataType[] arr;
2 dataType []arr;
3 dataType arr[];
五、定义格式
数据类型[]    变量名    =    new    数据类型[长度];
分析数组:  
    左边: int[] arr    声明了一个int类型的的数组变量,变量名为arr。
        int : 表示该数组容器只能存储int类型的数据。
        [] : 这是一个数组类型。
        arr : 变量名.
    
    右边:new int[50]; 创建了一个长度为50的int类型数组对象。
        new : 创建数组对象的关键字。
        int:  表示该数组对象只能存储int类型数据。
        []: 表示是数组类型。
        50 : 该数组最多能存储50个数据。数组的容量。超过数据长度,会报错。
六、单个数据访问
1 int[] arr = new int[5];
2 arr[0] = 1;
3 arr[1] = 2;
4 arr[2] = 3;
5 arr[3] = 4;
6 arr[4] = 5;
7 System.out.println("数组的第二个元素是:"+arr[1]);
8 System.out.println("数组的长度:"+arr.length);
七、循环遍历数组
 有三种方式:基本循环、增强for循环、Arrays工具类中toString静态方法遍历
  基本循环:
1 int[] arr = {1,2,3,4,5};
2         for (int i = 0; i < arr.length; i++) {
3             System.out.println("数组的第"+(i+1)+"元素是:"+arr[i]);
4         }

增强for循环(或叫foreach循环)

1 int[] arr = {1,2,3,4,5};
2 for (int i = 0; i < arr.length; i++) {
3     System.out.println("数组的第"+(i+1)+"元素是:"+arr[i]);
4 }

Arrays工具类中toString静态方法遍历

import java.util.Arrays;
public class Demo6 {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        System.out.println(Arrays.toString(arr));
    }
}

   八、多维数组的声明

dataType[][] arrayRefVar; 
dataType [][]arrayRefVar;   
dataType arrayRefVar[][]; 
dataType []arrayRefVar[];

九、实例化多维数组的示例

int[][] arr=new int[3][3];//3 row and 3 column

十、初始化多为数组

arr[0][0]=1;  
arr[0][1]=2;  
arr[0][2]=3;  
arr[1][0]=4;  
arr[1][1]=5;  
arr[1][2]=6;  
arr[2][0]=7;  
arr[2][1]=8;  
arr[2][2]=9;

十一、多维数组演示

class Testarray3 {
    public static void main(String args[]) {

        // declaring and initializing 2D array
        int arr[][] = { { 1, 2, 3 }, { 2, 4, 5 }, { 4, 4, 5 } };

        // printing 2D array
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }

    }
}

十二、一维数组复制

public class Demo6 {
    public static void main(String[] args) {
        char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
        char[] copyTo = new char[7];
        System.arraycopy(copyFrom, 2, copyTo, 0, 7);
        System.out.println(new String(copyTo));
        System.arraycopy(copyFrom, 0, copyTo, 0, 4);
        System.out.println(new String(copyTo));    
    }
}
######如下为运行结果########
caffein
decaein

 

posted @ 2018-03-23 10:54  编程狸  阅读(223)  评论(0编辑  收藏  举报