打印数组:
使用foreach打印数组:
int[] number=new int[] {10,12,15,14};
for (int i : number) {
System.out.print(i+"\t");
}
使用for循环打印数组:
int[] number=new int[] {10,12,15,14};
for (int i = 0; i < number.length; i++) {
System.out.print(number[i]+"\t");
}
使用数组的大小打印:
比较僵硬,死板
int[] number=new int[] {10,12,15,14};
for (int i = 0; i < 4; i++) {
System.out.print(number[i]+"\t");
}
使用Arrays.toString(数组名)打印
int[] number=new int[] {10,12,15,14};
System.out.println(Arrays.toString(number));
数组的扩容和拷贝:
数组的长度是固定的,如果需要添加多个元素,那么就需要将原来的数组容量变大,就是创建一个新的数组
进行使用.
- 数据类型[] 数组名 = Arrays.copyOf(旧数组名,拷贝后的新长度) 数据类型和旧数组名的数据类型保持一致
- 原数组名 = Arrays.copyOf(旧数组名,拷贝后的新长度)
public static void main(String[] args) {
String[] name=new String[3];
name[0]="小贾";
name[1]="小易";
name[2]="小丁";
System.out.println("name的数组"+Arrays.toString(name));
System.out.println("name长度为"+name.length);
System.out.println("===================================");
// 1
/*String[] name1=Arrays.copyOf(name,name.length+1);
name1[name1.length-1]="小吴";
System.out.println("name1的数组"+Arrays.toString(name1));
System.out.println("name1长度为"+name1.length);
*/
// 2
name=Arrays.copyOf(name,name.length+1);
name[name.length-1]="小吴";
System.out.println("name1的数组"+Arrays.toString(name));
System.out.println("name1长度为"+name.length);
}
截取
格式:System.arraycopy(arg0, arg1, arg2, arg3, arg4);
- arg0:要截取的数组
- arg1:从什么位置开始截取 (数组下标)
- arg2:截取数据要放到的数组
- arg3:要放到的位置 (数组下标)
- ary4:截取的长度
int[] ary1=new int[] {12,15,20,26,30};
int[] ary2=new int[10];
//从数组ary1的下表为2开始截取,截取的长度为2,截取的数据放到数组ary2的下表为1的位置
System.arraycopy(ary1, 2, ary2, 1, 2);
System.out.println(Arrays.toString(ary2));
一个排序:系统自带的排序
语法:Arrays.sort(数组名)
int[] ary1=new int[] {12,15,20,26,30};
Arrays.sort(ary1);
System.out.println(Arrays.toString(ary1));//[12, 15, 20, 26, 30]
unicode:每一个汉字都有对应的一个unicode码,该码是以16进制的方式表示出来的
System.out.printf("16进制输出:"+"%010x\n",(int)'静');
System.out.println((int)'静');//以十进制输出静的数值
System.out.println((char)38745);//默认以十进制打印输出
char a=0x9759;//静的unicode值
System.out.println(a);//根据unicode值找到对应的值并输出 静
如果想打印十六、八、二进制的需要在所赋值前面加修饰符,凡是没有前缀修饰的数字,均为十进制数字
- 二进制范围:0、1
- 八进制范围:0、1、2、3、4、5、6、7
- 十进制范围:0、1、2、3、4、5、6、7、8、9
- 十六进制范围:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
int a=100;//100前面没有修饰符,十进制
int a1=0x100;//100前面有修饰符0x(零x),十六进制 ,x的大小写不限定
int a2=0100;//100前面有修饰符0(零),八进制