Java数组

一维数组

什么是数组

数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。

总结:存放数据,长度和类型是固定的

数组定义格式

格式一

数据类型[] 数组名;

示例:

int[] arr;        
double[] arr;      
char[] arr;

格式二

数据类型 数组名[];

示例:

int arr[];
double arr[];
char arr[];

数组初始化

数组动态初始化

什么是动态初始化
数组动态初始化就是只给定数组的长度,由系统给出默认初始化值
动态初始化格式

数据类型[] 数组名 = new 数据类型[数组长度];

int[] arr = new int[3];

System.out.println(arr);//[I@1540e19d

//访问数组元素格式
System.out.println(arr[0]);//0
System.out.println(arr[1]);//0
System.out.println(arr[2]);//0

动态初始化格式详解
  • 等号左边
    • int:数组的数据类型

    • []:代表这是一个数组

    • arr:代表数组的名称

  • 等号右边
    • new:为数组开辟内存空间

    • int:数组的数据类型

    • []:代表这是一个数组

    • 3:代表数组的长度

数组静态初始化

什么是静态初始化

在创建数组时,直接将元素确定,由系统计算出数组的长度

静态初始化格式
  • 完整版格式
    数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
  • 简化版格式
    数据类型[] 数组名 = {元素1,元素2,...};
示例代码

public class ArrayDemo {
      public static void main(String[] args) {
          //定义数组
          int[] arr = {1, 2, 3};
  
          //输出数组名
          System.out.println(arr);
  
          //输出数组中的元素
          System.out.println(arr[0]);//1
          System.out.println(arr[1]);//2
          System.out.println(arr[2]);//3
      }
  }

数组元素访问

什么是索引

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。
这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。     

访问数组元素格式

数组名[索引];

示例代码

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];

        //输出数组名
        System.out.println(arr); //[I@880ec60

        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

数组案例

遍历数组

public class ShuZu {
    public static void main(String[] args) {
        // 数组类型   数组名 ;声明一个数组
        int[] sums ;
        //创建一个数组
        sums = new int[10];
        //声明和创建数组整合成一句,也叫动态初始化数组
        int[] sum2 = new int[10];
        String[] str = new String[10];
        double[] db = new double[10];
        //静态初始化数组
        int[] a={1,2,3,4,5,6,7,8,9,10,11,21,12,356,56,4,34,3};
        String[] Book = {"红楼梦","三国演义","水浒传","西游记"};
        //给数组元素赋值
        sums[0] = 1;
        sums[1] = 2;
        sums[2] = 3;
        sums[3] = 4;
        sums[4] = 5;

        //使用数组
        System.out.println(a[3]);
        System.out.println(Book[2]);
        //遍历数组
        for (int i = 0; i < sums.length; i++) {
            System.out.println(str[i]);//遍历数组可发现,动态初始化数组,没有赋值的string类型数组对应下标默认值为 null
            System.out.println(sums[i]); //遍历数组可发现,动态初始化数组,没有赋值的int类型数组对应下标默认值为 0
            System.out.println(db[i]);// double数组默认值 0.0
        }

    }
}

数组最值

数组最值就是从数组的所有元素中找出最大值或最小值  

数组元素反转

数组中的元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后的数组为5,4,3,2,1

实现思路
分析: 
把0索引和arr.length-1 交换 
把1索引和arr.length-2 交换 
把2索引和arr.length-3 交换
只要做到arr.length/2 即可 ,只做一半,不然又调回来了

代码实现
public class FanZhuan {
    public static void main(String[] args) {
        int[] num = {1, 2, 3, 4, 5, 6, 7,8,9,10};
        System.out.println("原始数组顺序为");
        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i]+"\t");
        }
        /* *********sum[i]与sum[nam.length-(i+1)]交换 0-9(name.length-1)********** */
        for (int i = 0; i < num.length / 2; i++) {
            int zhi = num[i];  //定义一个变量临时存储一个值
            num[i] = num[num.length - (i + 1)];
            num[num.length - (i + 1)] = zhi;
        }
        System.out.println("\n"+"元素位置反转之后的数组为");
        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i]+"\t");
        }
    }
}

  • 30
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值