Java标识符命名规则:
1.可以是字母,数字,$,_(下划线),但不可以用数字开头
2.包名:全部小写
3.类名:每个单词的首字母大写
4.变量名:第一个字母小写,以后每个单词的首字母大写
5.常量:全部使用大写字母,单词之间用下划线隔开
Java类库中操作数组的方法:
包:java.util.Arrays
方法:
System.arraycopy(src,srcPos,dest,destPos,length)
将数组src,从srcPos的位置开始复制length个到从destPos位置开始的dest数组中
例:
String[] as1={"aaa","bbb","ccc"};
String[] as2={"ddd","eee","fff"};
String[] as3=new String[6];
System.arraycopy(as1,0,as3,0,3);
System.out.println("as3="+Arrays.toString(as3));
System.arraycopy(as2,0,as3,3,3);
System.out.println("as3="+Arrays.toString(as3));
结果:
as3=[aaa,bbb,ccc,null,null,null]
as3=[aaa,bbb,ccc,ddd,eee,fff]
方法:
数组名.clone()
注意:clone()方法不能直接作用于多维数组.Java中的二维数组其实就是数组的数组,所以二维数组的存储实际上是两个一维数组的引用。当调用clone()方法时,是对这两个引用进行复制,如果要用clone()方法对二维数组进行复制,就要在每一维上调用clone()方法.
例如:
int[][] a2D1={{1,2,3},{4,5,6},{7,8,9}};
int[][] a2D2=new int[2][3];
for(int i=0; i<a2D1.length;i++){
a2D2[i]=a2D1[i].clone();
}
方法:
sort(数组名);
sort(数组名,起始索引,结束索引);
说明:按升序进行数组排序
例:
//Arrays.sort();
double[] ad1={2.1,1.3,7.5,4.2,3.3};
Arrays.sort(ad1,0,3);
System.out.println(Arrays.toString(ad1));//结果为:[1.3,2.1,7.5,4.2,3.3]
Arrays.sort(ad1);
System.out.println(Arrays.toString(ad1));//结果为:[1.3,2.1,3.3,4.2,7.5]
方法:
binarySearch(数组名,键值);
binarySearch(数组名,起始索引,结束索引,键值);
说明:
使用二分法来搜索指定类型的数组,以查找指定的键值。如果搜索的键值包含在数组中,则返回起索引;否则返回负数
例:
int[] a1={0,2,4,6,8,0,2,4,6,8};
int i1=Arrays.binarySearch(a1,4);
int i2=Arrays.binarySearch(a1,4,10,4);
int i3=Arrays.binarySearch(a1,3);
int i4=Arrays.binarySearch(a1,55);
System.out.println(Arrays.toString(a1));
System.out.println("index of 4:"+i1);//结果为:2
System.out.println("index of 4 range: 4-10:"+i2);//结果为:7
System.out.println("index of 3:"+i3);//结果为:-3
System.out.println("index of 55:"+i4);//结果为:-11
方法:
equals(数组名1, 数组名);
说明:判断两个数组是否相等(两个数组以相同顺序包含相同的元素),结果为true或false。
例:
//Arrays.equals();
short[] a1={0,2,4,6,8};
short[] a2={0,2,4,6,8};
short[] a3={1,3,5,7,9};
short[] a4=null;
short[] a5=null;
boolean b1=Arrays.equls(a1,a2);//结果为:true
boolean b2=Arrays.equls(a1,a3);//结果为:false
boolean b3=Arrays.equls(a1,a4);//结果为:false
boolean b4=Arrays.equls(a4,a5);//结果为:true
方法:
fill(数组名,值);
fill(数组名,起始索引,结束索引,值);
说明:使用指定的值填充数组.
例:
//Arrays.fill();
long[] a1={0,2,4,6,8,0,2,4,6,8};
Arrays.fill(a1,1);//结果为:[1,1,1,1,1,1,1,1,1]
Arrays.fill(a1,0,5,0);//结果为:[0,0,0,0,0,1,1,1,1,1]
Arrays.fill(a1,5,5,0);//结果为:[0,0,0,0,0,1,1,1,1,1]
方法:
CopyOf(数组名,新长度);
说明:复制数组
例:
//Arrays.copyOf();
double[] ad1={1.1,3.3,5.5,7.7,9.9};
boolean[] ab1={true,false};
String[] as1={"ab","cde","fghi"};
double[] ad2=Arrays.copyOf(ad1,3);//结果为:[1.1,3.3,5.5]
boolean[] ab2=Arrays.copyOf(ab1,4);//结果为:[true,false,false,false]
String[] as2=Arrays.copyOf(as1,5);//结果为:[ab,cde,fghi,null,null]
方法:
copyOfRange(数组名,起始索引,结束索引);
说明:复制数组的指定内容:从起始索引(包括)到结束索引(不包括)
例:
//Arrays.copyOfRange();
double[] ad1={1.1,3.3,5.5,7.7,9.9};
boolean[] ab1={true,false};
String[] as1={"ab","cde","fghi"};
double[] ad3=Arrays.copyOfRange(ad1,0,4);//结果为:[1.1,3.3,5.5,7.7]
double[] ab3=Arrays.copyOfRange(ab1,0,4);//结果为:[true,false,false,false]
方法:
toString(数组名);
deepToString(数组名);
说明:返回指定数组内容的字符串表示形式。
例:
double[] ad1={1.1,3.3,5.5,7.7,9.9};
boolean[] ab1={true,false};
String[] as1={"ab","cde","fghi"};
int[][] a2D2={{1,2,3},{4,5,6}};
System.out.println(Arrays.toString(ad1));
System.out.println(Arrays.toString(ab2));
System.out.println(Arrays.toString(as1));
System.out.println(Arrays.toString(a21));
System.out.println(Arrays.toString(a2D));
System.out.println(Arrays.deepToString(a2D));