1.数组的定义

int[] a;

int a[];

两种方式(当然类型可以是基本数据类型,也可以是引用类型咯)

2.数组的初始化

int[] a = {1,45,2,3};    //基本数据类型

Man[] mans = {new Man(),new Man().new Man()};  //引用类型

int[] a = new int(2);   //动态的初始化,给数组分配两个空间

 

3.数组的默认初始化

  数组是对象,他的元素相当于对象的属性;因此每个元素也按照属性的方式被默认初始化。

  int a2[] = new int[2];            //默认值是0,0

  boolean b[] =new boolean[2];   //默认值是 false,false

  String s[] = new String[2];     //默认值是 null,null

 

4.数组常见的两种遍历方式

  (1)通过for循环,依次通过数组的下标 【0,length-1】,通过下标遍历数组中的元素,期间可以读取值

     也可以修改值

  (2)增强for循环:for-each专门用来读取数组或容器中所有的元素

      

for (int a1:a){
System.out.println(a1);
}
其中int代表数组类型、a1名字自由,会逐次拷贝a数组里面的元素
 
  • for-each增强for循环在遍历数组过程中不能修改数组中某元素的值.
  • for-each仅适用于遍历,不涉及有关索引(下标)的操作。
     

 5.数组的拷贝

  

    System.arraycopy(object src,int srcpos,object dest, int destpos,int length)

       该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length            参数指定 将src数组的多少个元素赋给dest数组的元素

 

 

String[] s = {"阿里巴巴","华为","字节跳动","京东","美团"};
String[] sBak = new String[6];
System.arraycopy(s,0,sBak,0,s.length);
for (int i = 0 ;i<sBak.length;i++){
System.out.print(sBak[i]+"\t");
}

 

 

 6.java,util.Arrays类

  这是一个工具类,里面包含了很对对数组进行操作的方法

  (1)Arrays.toString(数组) 把目标数组全部输出出去

   

int a[] = {1,2};

//把目标数组输出
System.out.println(Arrays.toString(a));
//此处的Arrays.toString()方法是Arrays类的静态方法,不是ObjecttoString()方法。

   (2)Array.sort(数组) 对数组进行排序

int a[] = {1,2};
int b[] = {15,635,231,5,54,489};
//把目标数组输出
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
Arrays.sort(b); //对数组进行排序
System.out.println(Arrays.toString(b));

 

       (3)Arrays.binarySearch(数组,值)  对sort()以后的数组进行二分查找法,并返回他的索引,如果没有该数据,就会返回一个负数!

      

//排序以后使用二分查找
System.out.println("该元素的索引为:"+Arrays.binarySearch(b,635) );

 

      (4)Arrays.fill(数组,起始下标,终止下标,替换成什么); 把数组中的某一个前闭后开区间的每一项全部替换为目标数值

   

Arrays.fill(b,2,4,100);
System.out.println(Arrays.toString(b));

 

 

 

 

posted on 2022-06-01 20:27  我爱萨菲娜  阅读(32)  评论(0编辑  收藏  举报