Arrays类
定义:针对数组进行操作的类
public static String toString(int[] a):打印该数组
eg:
int[] arr
= {11, 84, 31, 94, 28, 59, 78, 69, 15};
System
.out
.println(Arrays
.toString(arr
));————————————输出:
[11, 84, 31, 94, 28, 59, 78, 69, 15]
public static void sort(int[] a):给数组排序
eg:
int[] arr
= {11, 84, 31, 94, 28, 59, 78, 69, 15};
Arrays
.sort(arr
);
System
.out
.println(Arrays
.toString(arr
));————————————输出:
[11, 15, 28, 31, 59, 69, 78, 84, 94]
public static int binarySearch(int[] a,int key):二分查找(数组必须有序)
eg:
int[] arr
= {11, 84, 31, 94, 28, 59, 78, 69, 15};
System
.out
.println(Arrays
.binarySearch(arr
, 15));————————————输出:
1
static boolean equals(int[] a, int[] a2) 比较两个数组中的元素
eg:
int[] arr
= {11, 84, 31, 94, 28, 59, 78, 69, 15};
int []a
= {11, 84, 31, 94, 28, 59, 78, 69, 15};
System
.out
.println(Arrays
.equals(arr
, a
));————————————输出:true
static int[] copyOf(int[] original, int newLength) 复制旧数组中的元素到一个新的数组中,新的数组长度是newLength 从0开始复制旧数组
eg:
int[] arr
= {1999,2000,2001,2002,2003,2008,2012,2019,2020};
int [] arr2
= Arrays
.copyOf(arr
,arr
.length
);
System
.out
.println(Arrays
.toString(arr2
));————————————输出:
[1999, 2000, 2001, 2002, 2003, 2008, 2012, 2019, 2020]
static int[] copyOfRange(int[] original, int from, int to) 从指定索引处,拷贝旧数组元素到你指定的终止索引处,复制到新的数组中,含头不含尾
eg:
int[] arr
= {1999,2000,2001,2002,2003,2008,2012,2019,2020};
int[] arr3
= Arrays
.copyOfRange(arr
,5,arr
.length
);
System
.out
.println(Arrays
.toString(arr3
));———————————— 输出:
[2008, 2012, 2019, 2020]
包装类
定义:为了对基本数据类型进行更多的操作,更方便的操作 针对每一种基本数据类型提供了对应的类类型把基本类型,包装成对应的包装类
常见的Integer类
Integer 类在对象中包装了一个基本类型 int 的值
Integer 类型的对象包含一个 int 类型的字段。
构造方法
public Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值
eg:
int num
= 20;
System
.out
.println(new
Integer(num
));———————————— 输出:
20
System
.out
.println("20的二进制数为:"+Integer
.toBinaryString(num
));
System
.out
.println("20的八进制数为:"+Integer
.toOctalString(num
));
System
.out
.println("20的十六进制数为:"+Integer
.toHexString(num
));
public Integer(String s):构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值
只能是数字组成的字符串
eg: String s
= "123456";
System
.out
.println(new
Integer(s
));———————————— 输出:
123456
static String valueOf(int i): 返回 int 参数的字符串表示形式
eg:
int num
= 2019;
String s1
= String
.valueOf(num
);
System
.out
.println(s1
);———————————— 输出:
2019
static int parseInt(String s): 将字符串参数作为有符号的十进制整数进行解析——把字符串转换成int 类型数据
eg: String ss
= "159";
System
.out
.println(Integer
.parseInt(ss
));————————————输出:
159
String 和 int类型的转换
int num
= 2019;
String s
= num
+"";
System
.out
.println(s
);
String s1
= String
.valueOf(num
);
System
.out
.println(s1
);
System
.out
.println(new
Integer(num
).toString());
String ss
= "1147258369";
System
.out
.println(Integer
.parseInt(ss
));
System
.out
.println(new
Integer(ss
).toString());
自动拆装箱
自动装箱:把基本类型转换为包装类类型自动拆箱:把包装类类型转换为基本类型
public
static void main(String
[] args
) {
Integer in
= new
Integer(20);
Integer in2
= new
Integer(200);
int num
= in
+in2
;
int i
= in
.intValue();
int i1
= in2
.intValue();
int num1
= i
+i1
;
int x
= 2019;
Integer inx
= x
;
Integer inx2
= Integer
.valueOf(2019);
}
eg: Integer i
= 128;
Integer i1
= 128;
Integer
.valueOf(128);
System
.out
.println(i
== i1
);
Integer i7
= 127;
Integer i8
= 127;
System
.out
.println(i7
== i8
);