Java基础(5)-- 数组

一、数组定义

1、数据类型[] 数组名 = new 数据类型[元素个数或数组长度];

int[] x;              // 声明一个int[]类型的变量

x = new int[100];   // 创建一个长度为100的数组

数据类型

默认初始化值

byte、short、int、long

0

float、double

0.0

char

一个空字符(空格),即’\u0000’

boolean

false

引用数据类型

null,表示变量不引用任何对象

 

2、数组的静态初始化有两种方式,具体格式如下:

1、类型[] 数组名 = new 类型[]{元素,元素,……};

2、类型[] 数组名 = {元素,元素,元素,……};   

二、数组遍历

public class ArrayDemo04 {

    public static void main(String[] args) {

        int[] arr = { 1, 2, 3, 4, 5 }; // 定义数组

        // 使用for循环遍历数组的元素

        for (int i = 0; i < arr.length; i++) {

            System.out.println(arr[i]); // 通过索引访问元素

        }

    }

}

三、数组的常见问题

1、数组的最值

public class ArrayDemo05 {

    public static void main(String[] args) {

        int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组

int max = arr[0]; // 定义变量max用于记住最大数,首先假设第一个元素为最大值

        // 下面通过一个for循环遍历数组中的元素

        for (int x = 1; x < arr.length; x++) {

            if (arr[x] > max) { // 比较 arr[x]的值是否大于max

                max = arr[x]; // 条件成立,将arr[x]的值赋给max

            }

        }

        System.out.println("max=" + max); // 打印最大值  

    }

}

2、数组的越界问题

public class ArrayDemo06 {   

     public static void main(String[] args) {       

         int[] arr = new int[4]; // 定义一个长度为4的数组       

         System.out.println("arr[0]=" + arr[]); // 通过角标访问数组元素   

   }

}

图运行结果中所提示的错误信息是数组越界异常ArrayIndexOutOfBoundsException,出现这个异常的原因是数组的长度为4,其索引范围为0~3,而上述代码中的第4行代码使用索引4来访问元素时超出了数组的索引范围

四、二维数组

1、二维数组定义

第一种方式:

int[][] arr = new int[3][4];

第二种方式:

int[][] arr = new int[3][];

 

第三种方式:

int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

2、二维数组的访问

class ArrayDemo08 {

    public static void main(String[] args){

   

        //定义二维数组的方式

        int[][] arr = new int[3][4];

   

        System.out.println( arr );

        System.out.println("二维数组的长度: " + arr.length);

        //获取二维数组的3个元素

        System.out.println( arr[0] );

        System.out.println( arr[1] );

        System.out.println( arr[2] );

       

        System.out.println("打印第一个一维数组的元素值");

        System.out.println( arr[0][0] );

        System.out.println( arr[0][1] );//访问的为二维数组中第1个一维数组的第2个元素

        System.out.println( arr[0][2] );

        System.out.println( arr[0][3] );

       

        System.out.println("打印第二个一维数组的元素值");

        System.out.println( arr[1][0] );

        System.out.println( arr[1][1] );

        System.out.println( arr[1][2] );

        System.out.println( arr[1][3] );

       

        System.out.println("打印第三个一维数组的元素值");

        System.out.println( arr[2][0] );

        System.out.println( arr[2][1] );

        System.out.println( arr[2][2] );

        System.out.println( arr[2][3] );

    }

}

3、二维数组元素遍历与数组元素累加和

class ArrayDemo09 {

    public static void main(String[] args){

        //一维数组的求累加和并遍历

        int[] arr = {10,20,30,40,50};

        int sum = 0;

        for (int i=0; i<arr.length; i++) {

              //System.out.println(arr[i]);

            sum += arr[i];

        }

        System.out.println("sum= " + sum);

        System.out.println("---------------------");

       

//二维数组的求累加和并遍历

        int[][] arr2 = { {1,2},{3,4,5},{6,7,8,9,10} };

        int sum2 = 0;

        for (int i=0; i<arr2.length; i++) {

            for (int j=0; j<arr2[i].length; j++) {

                 //System.out.println(arr2[i][j])

                sum2 += arr2[i][j];

            }

        }

        System.out.println("sum2= "+ sum2);

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值