美文网首页
2020-05-15

2020-05-15

作者: 人生如戏丢雷楼目 | 来源:发表于2020-05-15 18:56 被阅读0次

关于数组

格式: 数据类型 数组名 [ ]
数据类型 [ ] 数组名

数组定义长度的方法
1: int num[]=new int[5]; 定义长度为5,后期不能更改
2: int num[]={1,4,5,61}; 直接定义初起始值,大小就是初始值的长度
3: int num3[]=new int[]{1,2,4,5};效果一样,但过于复杂,不建议使用
一般情况下都是用new操作符(第一种方法)来定义数组


数组的一些使用方法

1: 数组的复制

一开始 定义两个数组,想当然的以为可以使用
int num2[] =num 方法来复制数组,
然而这从意义上来讲并不是对数组的复制,而是
两个变量同时指向一个堆的地址

对于数组的复制,有一种Arrays.copyOf(num, num.length)的方法
对数组进行直接的复制

public static void main(String[] args) {
    //复制数组
    int i=5;
    int j =i;
    j=6;//输出时j等于6了,但是不影响i的值
    System.out.println(i+" "+j);
    int num[]= {1,23,54,2,61};
    //int num2[] =num;//两个变量同时指向一个堆的地址
    int num2[]=Arrays.copyOf(num, num.length);//复制一个数组
    num2[0]=10;//改值
    
    for(int a=0;a<num.length;i++) {
        System.out.println(num[i]+" ");   
    }
    
    System.out.println();
    System.out.println("--------");
    num2[0]=10;//下标为0值为10
    for(int a=0;a<num.length;i++) {
        System.out.println(num[i]+" ");
    }
    
}
sz1.png

关于数组的查询和排序功能
查询:Arrays.binarySearch(num, index)
关于该功能:该功能给的是数字在该数组的下标,[图片上传中...(sz4.png-518a60-1589540141915-0)]
如果输入的数字并没有在数组中的话,那么输出的将是负数
排序:Arrays.sort(num);

 public static void main(String[] args) {
    int num[]= {1,43,5,6,232};
    for(int a=0;a<num.length;a++) {
        System.out.print(num[a]+"  ");
    }//先遍历循环一遍,再与排序后做对比
    
    System.out.println();
    Arrays.sort(num);//排序
    for(int a=0;a<num.length;a++) {
        System.out.print(num[a]+"  ");
    }//排序后
    System.out.print("请输入要查找的数字");
    Scanner input=new Scanner(System.in);
    int index = input.nextInt();
    System.out.println("结果为"+Arrays.binarySearch(num, index));//输出结果是该数字在数组的下标
    //但是如果输入的该数字没在数组中,那么会输出负数
            
}
sz4.png

相关文章

网友评论

      本文标题:2020-05-15

      本文链接:https://www.haomeiwen.com/subject/telhohtx.html