day06

1.数组的特点:
(1) 数组中的元素类型必须一致
(2) 数组本身是引用数据类型,但是里面的元素既可以是基本数据类型,也可以是引用数据类型
(3) 数组的长度一旦给定无法改变
2.数组的声明:
数据类型 [] 数组名;
数组类型 数组名[]
3.数组的格式:
(1).数据类型[] 数组名 = new 数据类型[长度];
(2).数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};
​ 简写: 数据类型[] 数组名 = {元素1,元素2,元素3…};
4.数组的索引:
数组中元素的序号,从0开始的, 最大值就是数组的长度减1
5.数组内存:
栈: 存储局部变量,方法的执行,没有初始值
堆:new出来的东西;有初始值:
​ 基本: 默认值
​ 引用: null
6.获取数组的长度:
数组名.length
7.数组中的常见异常
(1).空指针异常:java.lang.NullPointerException null调用里面的东西
(2).数组角标越界异常:java.lang.ArrayIndexOutOfBoundsException 索引超出了最大范围
8.形式参数:
位于方法的参数列表中的参数叫做形式参数
9.实际参数:
调用方法的时候 传递的参数叫做实际参数
当形式参数为基本类型的时候,形参的改变不会影响到实参
当形式参数为引用类型的时候,形参的改变会影响到实参

例题1:数组遍历(用for循环)

//打印数组[3,4,5,6,7,8,9]
public class ArrayDemo5 {
    public static void main(String[] args) {
        int arr[] = {3, 4, 5, 6, 7, 8, 9};
        int len = arr.length;
        System.out.println("长度为" + len);
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.print(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ",");
            }
        }

    }
}

例题2:数组工具类封装(自己封装的方法与main方法是平级关系,万万不可嵌套!!!)

    //打印字符串数组
    public static void printArr(String[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.print(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ",");
            }
        }
    }
//打印int类型数组
    public static void printArr(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.print(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ",");
            }
        }
    }
//找int类型数组最大值最小值
    public static void getMaXAndMin(int[] arr) {
        int max = arr[0];
        int min = arr[0];
        for (int i = 0; i < arr.length; i++) {
            int num1 = arr[i];
            int num2 = arr[i];
            if (num1 > max) {
                max = num1;
            }
            if (num2 < min) {
                min = num2;
            }
        }
        System.out.println(max);
        System.out.println(min);
    }
//交换数组两个值
    public static void changeElements(int[] arr) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要交换位置的索引");
        System.out.println("请输入第一个索引值");
        int i1 = sc.nextInt();
        System.out.println("请输入第二个索引值");
        int i2 = sc.nextInt();
        if (i1 < 0 || i1 >= arr.length || i2 < 0 || i2 >= arr.length) {
            System.out.println("输入值错误,请重新输入");
            return;
        }
        System.out.print("交换前:");
        ArrayUtil1.printArr(arr);
        int temp = arr[i1];
        arr[i1] = arr[i2];
        arr[i2] = temp;
        System.out.print("交换后:");
        ArrayUtil1.printArr(arr);
    }
//数组逆序排列
    public static void reverseArr(int[] arr) {
        for(int i=0;i<arr.length/2;i++){
            int temp=arr[i];
            arr[i]=arr[arr.length-i-1];
            arr[arr.length-i-1]=temp;
        }
        ArrayUtil1.printArr(arr);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值