数组(一)

 

数组的概念:

数组就相当于一个书架放着一些相同类别的书籍,这些书籍都是有分类的比如计算机类医学类等等书籍。

数组的声明格式:

动态声明

数据类型[] 数组名=new 数据类型[数组大小];
int[] arr1=new int[5];

静态声明

数据类型[] 数组名={数据1,数据2,数据3};
int[] arr2={1,2,3};
或者
数据类型[] 数组名=new int[]{数据1,数据2,数据3};
int[] arr2=new int[]{1,2,3};

静态数组初始化与动态数组初始化区别:静态初始化是根据元素的个数,来分配数组大小。

动态初始化是指定大小后再初始化值。

数组的内存图:

栈:局部变量,局部方法。

堆:只要是new的东西都放在堆。

package com.itheima.test;

public class Arrays_Demo01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = new int[3];
        int[] arr2 = new int[3];
        arr1[0] = 1;
        arr1[1] = 2;
        arr1[2] = 3;
        arr2[0] = 1;
        arr2[1] = 2;
        arr2[2] = 3;
        System.out.println(arr1);
        System.out.println(arr2);
        for(int i=0;i<arr1.length;i++) {
            System.out.println(arr1[i]);
            
        }
        for(int i=0;i<arr2.length;i++) {
            System.out.println(arr2[i]);
            
        }
    }

}

数组遍历:

数组的下标是以0开始,length是获得数组的长度

package com.itheima.test;

public class Arrays_Demo02 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = { 1, 2, 3, 4, 5 };
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }

}

数组的冒泡算法:

package com.itheima.test;

public class Arrays_Demo01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr = new int[] { 55, 44, 2, 23, 332, 8, 441 };
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length-1; j++) {
                if (arr[j] > arr[j + 1]) {
                    int number = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = number;
                }
            }
        }
        for (int c : arr) {
            System.out.println(c);
        }
    }

}

图解冒泡算法

数组练习题1:

求出数组的最大值

package com.itheima.test;

public class Arrays_Demo02 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = { 1, -11, 888, 4, 5 };
        int max = arr1[0];
        //先初始化一下max
        for (int i = 1; i < arr1.length; i++) {
            if (arr1[i] > max) {
                //判断有没有比max更大的元素
                max = arr1[i];
                //如果有则重新赋值给max
            }
        }
        System.out.println(max);
    }

}

数组倒序练习题2:

package com.itheima.test;

public class Arrays_Demo02 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = { 1, 14, 177, 155, -11, 888};
        int number;
        /*先声明一个int数
         * 6个元素需要交换3次,8个元素需要交换4,交换次数=数组长度/2
         * 要交换值就需要一个中间数,那么number得作用就在这里
         * 
         * */
        for (int i = 0; i < arr1.length / 2; i++) {
            number=arr1[i];
            arr1[i] = arr1[arr1.length - 1 - i];
            arr1[arr1.length - 1 - i]=number;
        }
        for(int c:arr1) {
            System.out.println(c);
        }
    }

}

 

转载于:https://www.cnblogs.com/ahJava/p/9919583.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值