Java中的数组

变量:存储单个数据

数组:存储多个数据

数组 :是一段连续的内存空间,线性序列;多个相同数据类型数据的有序集合

特点

一、是引用数据类型

二、定长,长度确定后就不可以更改

三、存储多个数据类型相同的值

四、有序的,有索引

索引

连续的内存空间中每一个小空间的序号

从0开始,每次+1

每个数组的第一个空间索引: 0

每个数组的最后一个空间索引: 数组名.length-1

数组长度:数组名.length

操作数组中的数据:根据索引操作,数组名[索引]

数组的定义语法:

声明 :数据类型[] 数组名; ->推荐

数据类型 数组名[];

数据类型 : 规定存储的数据的类型

初始化 : 第一次创建

动态初始化 : 先创建数组,后赋值(数据类型[] 数组名 = new 数据类型[长度];数组只创建不赋值存在默认值;整数->0 小数->0.0 布尔:false 字符:空字符 引用:null)

静态初始化 : 创建数组的同时赋值

数据类型[] 数组名 = new 数据类型[]{值列表};

数据类型[] 数组名 = {值列表};

数组的遍历 :

1.普通for循环:条件i是索引,需要根据索引操作数组中的数据

2.增强for循环|for..each:

for(数据类型 变量名:数组名|集合名){

变量名 : 存储数组中的每一个数据

}

增强for与普通for循环使用区别:       

普通for循环遍历的是索引,操作索引,使用索引,根据索引操作数组中的数据

增强for只能从前到后的获取每一个数据,但是不能操作使用索引

 

public class Class001_Array {
    public static void main(String[] args) {
        // 声明
        int[] arr1;

        //动态初始化
        arr1 = new int[3];

        //静态初始化
        double[] arr2 = new double[]{1.1,2.2,3.3,4.4};
        String[] arr3 = {"你好","中国"};

        //为数组负债
        arr1[0] = 101;
        arr1[1] = 102;
        arr1[2] = 103;

        //获取数组中的数据
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);

        System.out.println(arr2[0]);
        System.out.println(arr2[1]);
        System.out.println(arr2[2]);
        System.out.println(arr2[3]);

        System.out.println(arr3[0]);
        System.out.println(arr3[1]);

        //变量重新赋值, arr1引用指向的不同的数组
        arr1 = new int[5];
        arr1 = new int[]{1,2,3};
        //arr1 = {1,2,3};
    }
}
 

public class Class003_Practice {
    public static void main(String[] args){
        print(new int[]{1,2,3,4,5});
        print(new char[]{'c','a','b'});

        int[] arr = getMaxMin(new int[]{3,2,1,5,4});
        System.out.println("最小值 = "+arr[0]);
        System.out.println("最大值 = "+arr[1]);

        print(new String[]{"abc","ab","c"});
    }
    
    //A:遍历int类型的数组 依次输出每个数组元素
    public static void print(int[] arr){
        for(int i:arr){
            System.out.println(i);
        }
    }

    
    //B:遍历字符数组
    public static void print(char[] arr){
        for(char i:arr){
            System.out.println(i);
        }
    }
    
    //C:最值:获取数组中的最大值和最小值
    public static int[] getMaxMin(int[] arr){
        //记录最大值,最小值
        int max = arr[0];
        int min = arr[0];
        //遍历数组,每一个数据与max比较
        for(int i: arr){
            if(i>max){
                max = i;
            }
            if(i<min){
                min = i;
            }
        }

        //返回最大与最小
        return new int[]{min,max};
    }


    //D:逆序:倒叙输出数组元素
    public static void print(String[] arr){
        for(int i=arr.length-1;i>=0;i--){
            System.out.println(arr[i]);
        }
    }

}
 

                                          

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值