Java数组相关操作

数组

数组的定义方式

  • 数组的特点
    • 长度固定
    • 只能存储相同类型的数据

以int 类型为例
1.数据类型[] 数组名 = new 数据类型[数组长度]

int [] arr = new int [5];
  1. 数据类型[] 数组名 = new 数据类型[]{元素1,元素2…}
int [] arr = new int []{1,2,3,4,5};
  1. 数据类型[] 数组名 = {元素1,元素2…}
int [] arr = {1,2,3,4,5};

索引访问数组中的元素

  • 索引值必须小于数组的长度,否则在会出现ArrayIndexOutOfBoundsException下标越界异常
  1. 数组名[索引值] = 数值 为数组中的元素赋值
  2. 变量名 = 数组名[索引值] 获取数组中的元素

获取数组长度是 数组名.length 属性

int[] arr = {1, 3, 5, 2, 4};
System.out.println(arr.length);

数组遍历 中间使用,隔开

public class Demo1 {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 2, 4};
        //System.out.println(arr.length);
        for (int i = 0; i < arr.length; i++) {
            //判断如果是最后一个元素,只输出元素
            if (i == arr.length - 1) {
                System.out.println(arr[i]);
            } else {
                //不是最后一个元素,就输出元素拼接逗号 这里使用print,不换行
                System.out.print(arr[i]+",");
                //打印结果  1,3,5,2,4
            }
        }
    }
}

获取数组中的最大值

public class Demo1 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {1, 3, 5, 2, 4};
        //定义变量,将数组的第一个元素赋值给变量
        int max = arr[0];
        //System.out.println(arr.length);
        for (int i = 1; i < arr.length; i++) {
            //从第二个元素开始遍历,如果元素大于max,就将元素的值赋值给max
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        //输出最大值 5
        System.out.println(max);
    }
}

数组元素反转 将1,3,5,2,4 变成 4,2,5,3,1

  • 定义两个变量,保存数组的最大索引和最小索引
  • 两个索引上的元素交换位置
  • 最小索引值++ , 最大索引值 –
  • 最小索引大于最大索引,数组反转操作结束
public class Demo1 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {1, 3, 5, 2, 4};
        //定义变量,将数组的最大索引值赋给变量
        int max = arr.length-1;
        int min = 0;
        //定义中间量
        int x =0;
        //System.out.println(arr.length);
        for (int i = 1; i < arr.length; i++) {
            //最小索引小于最大索引,说明还没有置换完毕
            if (min < max) {
                //将最小索引值赋给中间量
                x = arr[min];
                //将最大索引值付给最小索引
                arr[min] = arr[max];
                //将中间量保存的最小索引值 给 最大索引
                arr[max] = x;
                //改变索引
                max--;
                min++;
            }
        }
        //打印结果 4 2 5 3 1 
        for (int a : arr) {
            System.out.print(a+" ");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值