Java数组

这篇博客详细介绍了Java中数组的声明、创建、初始化以及操作,包括静态和动态初始化。文章通过示例代码展示了如何给数组元素赋值、计算数组总和、查找最大值以及数组反转。同时,强调了数组长度不可变的特性,并给出了数组越界的错误情况。

数组是相同类型数据的集合:索引从0开始

1、声明数组语法:声明的时候,数组并不存在,只有创建后才存在。

        dataType[ ]        arrayRefVar        //首选方法

        dataType            arrayRefVar[ ]        //效果相同,不是首选

2、创建数组语法:

        dataType[ ] arrayRefVar = new dataType[ arraySize ]        //new 操作符创建数组

  • 数组长度不变,一旦创建,不可改变:array.length
  • 数组报错:ArrayIndexOutOfBoundsException    数组越界  [  0  ,  length - 1 ]

package array;

public class Demo01 {
    public static void main(String[] args) {
        int[] nums;        //1。声明一个数组
        int nums2[];        //第二种写法,为了c程序员过渡使用
        int[] nums3=new int[10];
        
        nums=new int[10];        //2。创建一个数组

        nums[0] = 1;        //3。给数组元素赋值
        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        nums[4] = 5;
        nums[5] = 6;
        nums[6] = 7;
        nums[7] = 8;
        nums[8] = 9;
        nums[9] = 10;


        int sum=0;
        for(int i=0;i<nums.length;i++){
            sum=sum+nums[i];
        }
        System.out.println("sum: "+sum);
        System.out.println("=======================");
        for(int num:nums){
            System.out.println(num);
        }
    }
}



3、初始化数组:

        静态初始化

                int[]  a={1,2,3} ;

                Man[] mans = {new Man(1,1) , new Man(2,2)};

        动态初始化

                int[]  a = new int[2];

                a[0]=1;

                a[1]=2;


package array;

public class Demo02 {
    public static void main(String[] args) {
        //静态初始化:创建+赋值
        int[] a ={1,2,3,4,5,6};
        System.out.println(a[0]);

//        Man[] mans={new Man(),new Man()};
//        mans[0].toString();

        //动态初始化:包含默认初始化
        int[] b =new int[10];
        b[0] = 10;
        System.out.println(b[0]);
        System.out.println(b[1]);
        System.out.println(b[2]);
    }
}


package array;

public class Demo03 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};

        for (int i=0;i<arrays.length;i++) {
            System.out.println(arrays[i]);
        }
        int sum=0;
        for(int i=0;i<arrays.length;i++){
            sum+=arrays[i];
        }
        System.out.println("sum: "+sum);

        int max=arrays[0];
        for(int i=0;i<arrays.length;i++){
            if (arrays[i] > max) {
                max=arrays[i];
            }
        }
        System.out.println("max: "+max);


//        for (int array : arrays) {
//            System.out.println(array);
//        }
        //printArray(arrays);
        reverseArray(arrays);
        printArray(reverseArray(arrays));
    }

    public static void printArray(int[] arrays){
        for (int array : arrays) {
            System.out.print(array+"\t");
        }
    }

    public static int[] reverseArray(int[] arrays){
        int[] result = new int[arrays.length];
//        for(int i=0;i<arrays.length;i++) {
//            result[i] = arrays[arrays.length - i - 1];
//        }
        for(int i=0,j=arrays.length- 1;i<arrays.length;i++,j--) {
            result[j] = arrays[i];
        }
        return result;
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值