java数组的定义

/*数组: 用于存放一系列(若干份)类型相同的数据,数组一旦定义,长度不可变
1.数组的定义: 静态和动态
*/

class Demo1
{
    public static void main(String args[])
    {
        //静态定义
        int[] arr = {23,4,67,198,3};
        //动态
        int arr2 [] = new int[10];
        int[] arr3 = new int[]{1,3,5,7};
        
        //数组的访问
        int num3 = arr[2];
        System.out.println(num3);
        System.out.println(arr2[4]);
        //为数组的元素赋值
        arr2[2] = 500;
        System.out.println(arr2[2]);
        //获得数组的长度,每个数组都有一个固定的属性是length
        int len = arr.length;
        System.out.println("数组arr的长度为:" + len);
        //遍历数组的元素,将元素依次取出来打印
        for(int i=0; i<arr.length; i++)
            //System.out.println(i);
            System.out.println(arr[i]);
        /*如果数组为null,那么在访问时会抛java.lang.NullPointerException空指针异常
        int[] arr4 = null;
        System.out.println(arr4.length);
        */
        //访问数组时注意,角标的取值范围为0~length-1,
        //超出这个范围就会抛 java.lang.ArrayIndexOutOfBoundsException角标越界异常
        //System.out.println(arr[5]);
        //System.out.println(arr);
        System.out.println("-----------------------------------");
        arr = new int[]{-4,-15,-89,-27};
        listArr(arr);
        int max = getMaxNum(arr);
        System.out.println("arr中的最大数为:" + max);
        System.out.println("-----------------------------------");
        System.out.println("交换前:");
        listArr(arr);
        exchange(arr, 0, 2);
        System.out.println("交换后:");
        listArr(arr);
    }
    //遍历数组的元素,输出
    static void listArr(int[] arr)
    {
        //定义一个容器StringBuffer
        StringBuffer sb = new StringBuffer();
        for(int i=0; i<arr.length; i++)
            sb.append(arr[i]+",");
        sb.delete(sb.length()-1, sb.length());
        System.out.println(sb);
    }
    
    /*求一个数组中的最大数
    思路:
    1.定义一个变量max用于记住最大数,初始值为第一个元素
    2.遍历数组,让每个元素都和max比较,如果比max大,将该元素的值给max
    3.返回max
    */
    static int getMaxNum(int[] arr)
    {
        int max = arr[0];
        for(int i=1; i<arr.length; i++)
        {
            if(arr[i]>max)
                max = arr[i];
        }
        return max;
    }
    
    /* 交换数组的两个元素
    1.定义一个临时变量temp,值为pos1位置的元素
    2.让pos1位置的元素的值等于pos2位置的元素
    3.让pos2位置的元素的值等于temp
    */
    static void exchange(int[] arr, int pos1, int pos2)
    {
        int temp = arr[pos1];
        arr[pos1] = arr[pos2];
        arr[pos2] = temp;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值