标签:system strong als 长度 下标 通过 复制 指定 port
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));
}
}
标签:system strong als 长度 下标 通过 复制 指定 port
原文地址:http://www.cnblogs.com/qbnby/p/7388011.html