Java数组

Java数组

数组 是一组变量集合存储相同数据类型的一组数据(js数组不要求存储数据类型一样)

元素下标标明了元素在数组中的位置,从0开始

在数组中每个元素都可以通过小标来访问

数组内存空间有限,避免存储越界

 

1、声明变量和声明数组的区别

声明变量就是内存空间中画出一个合适的空间

声明数组就是在内存空间中划出一组空间

 

2、使用数组四步走:

1、声明数组 int []a;

2、分配空间  a=new int[5];通过new申请一个连续5个int类型的的储存空间

3、赋值:a[0]=8;

4、处理数据:a[0]=a[0]*10

分配空间:告诉计算机分配几个连续的内存空间

声明数组并分配空间:数据类型[] 数组名=new 数组声明[分配的连续空间数];

数组赋值:1、边声明边赋值int[] score={89,85,90};

                 2、int[] score=new int[]{56,68,98};声明数组连续空间必须等于后面的数组个数。可以不声明!

数组有length属性score.length

使用循环进行数组赋值

访问数组成员"标识符[下标]"

score.length是获取属性。如果用在for循环语句中,访问需要时间,最好把它抽出来;

下面是一些数组的声明,分配空间、赋值,和数据处理的实例:

       int arr[];

              int []arr;

              arr=new int[6];

 

        int[] score=new int[]{56,68,98};

              int[] score2={89,85,90};

              arr[3]=86;

 

              arr[3]=arr[3]*9;

              System.out.println(arr[3]);

3、数组的遍历:

1、标准for循环遍历数组

 

 

public class Demo3 {

 

       public static void main(String[] args) {

              String[] arr=new String[] {"Mike背包","Adidenb背包","361°背包","李宁背包","红星儿科背包"};

              int j=arr.length;

              for(int i=0;i<j;i++) {

                     System.out.println(arr[i]);

              }

 

       }

 

}

2、for-each遍历

public class Demo6 {

 

       public static void main(String[] args) {

              //数组遍历

              //for 遍历

              int[] arr=new int[] {11,33,445,55,66,77};

              for(int i=0;i<arr.length;i++) {

                     System.out.println(arr[i]);

              }

              //for in 遍历  把数组的值给i

              for(int i:arr) {

                     System.out.println(i);

              }

}

}

4、数组的方法

的导入import java.util;包

1、Sort方法:让数组升序,没有返回值;

import java.util.Arrays;

 

public class Demo8 {

 

       public static void main(String[] args) {

              int arr[]= {12,32,33,23,11,28};

              Arrays.sort(arr);

              for(int i:arr) {

              System.out.println(i);

              }

}

}

2、equals方法:比较数组是否相等

       toString:用来把数组转化为字符串

import java.util.Arrays;

 

public class Demo9 {

 

       public static void main(String[] args) {

              int arr1[]= {22,55,33,44,77,88};

              int arr2[]= {2,5,3,4,7,8};

              int arr3[]= {22,33,55,44,77,88};

              int arr4[]= {2,55,3,44,77,88};

              int arr5[]= {22,55,33,44,77,88};

              //s数组相等是数组内元素大小,顺序完全相等

              System.out.println(Arrays.equals(arr1, arr2));//equals:用来比较数组是否相等

              System.out.println(Arrays.equals(arr1, arr3));

              System.out.println(Arrays.equals(arr1, arr4));

              System.out.println(Arrays.equals(arr1, arr5));

              Arrays.sort(arr1);

              for(int i:arr1) {

                     System.out.print(i+"\t");

                    

              }

              System.out.println(Arrays.toString(arr1));//toString:用来把数组转化为字符串

 

       }

 

}

3、fill方法:用来填充数据

import java.util.Arrays;

 

public class Demo10 {

       public static void main(String[] args) {

              int arr[]=new int[5];

              //fill:用来填充数组

              Arrays.fill(arr,67);

              for(int i:arr) {

              System.out.print(i+"\t");

              }

       }

}

4、binarySearch方法:用来查找数组中指定数据的位置,对升序的数组才有效,用二分法实现

 

import java.util.Arrays;

 

public class Demo11 {

 

       public static void main(String[] args) {

              int arr[]= {10,20,30,40,50,60};

             

              //binarySearch:用来查找数组中指定数据的位置

              //binarySearch:对升序的数组才有效,用二分法来实现的

              System.out.println(Arrays.toString(arr));

              System.out.println(Arrays.binarySearch(arr,40 ));

 

       }

 

}

5、copyOf方法:从数组头部开始,复制指定长都的数组:

import java.util.Arrays;

 

public class Demo12 {

 

       public static void main(String[] args) {

              int arr[]= {12,34,23,46,11,57};

              //copyof方法:从数组头部开始,复制指定长度的数组

              //参数1、要复制的原数组

              //参数2、要复制原数组的个数

              //如果要复制的数组大于原数组个数 ,多余部分补0

             

              int arr1[]=Arrays.copyOf(arr, 3);

              System.out.println(Arrays.toString(arr1));

             

              int arr2[]=Arrays.copyOf(arr, 4);

              System.out.println(Arrays.toString(arr2));

             

              int arr3[]=Arrays.copyOf(arr, 8);

              System.out.println(Arrays.toString(arr3));

       }

 

}

6、copyofRange:复制数组中的否一段数据

import java.util.Arrays;

 

public class Demo13 {

 

       public static void main(String[] args) {

              // copyofRange:复制数组中的否一段数据

              // 参数1、要复制的原数组

              // 参数2、开始索引(包括)

              // 参数3、结束索引(不包括)

              int arr1[] = { 10, 20, 30, 40, 50, 60, 70, 80 };

              int arr2[] = Arrays.copyOfRange(arr1, 2, 6);

              System.out.println(Arrays.toString(arr2));

       }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值