包装类:
需求1:有100这个数据,计算出它的二进制、八进制、十六进制;
需求2:如何用代码求出int类型数据范围;
为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一个数据类型提供了一个对应类类型;
数据类型 | |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
public class PackageClassDemo1 {
public static void main(String[] args) {
//Integer: Integer类包装一个对象中的原始类型int的值。
//public static String toBinaryString(int i)在基数2中返回整数参数的字符串表示形式为无符号整数。
//求出int类型数据的二进制
String s = Integer.toBinaryString(100);
System.out.println("100的二进制为:" + s);
//static String toHexString(int i)
//返回整数参数的字符串表示形式,作为16位中的无符号整数。
String s1 = Integer.toHexString(100);
System.out.println("100的十六进制为:" + s1);
//static String toOctalString(int i)
//在基数8中返回整数参数的字符串表示形式为无符号整数。
String s2 = Integer.toOctalString(100);
System.out.println("100的八进制为:" + s2);
//如何使用代码求出int类型数据范围
//static int MAX_VALUE
//一个持有最大值一个 int可以有2 31 -1。
int maxValue = Integer.MAX_VALUE;
//static int MIN_VALUE
//的常量保持的最小值的 int可以具有,-2 31。
int minValue = Integer.MIN_VALUE;
System.out.println("int类型数据的最大值为:" + maxValue);
System.out.println("int类型数据的最小值为:" + minValue);
}
}
包装类一般是用于基本数据类型和字符串之间的转换:
int类型的数据与String类型做互相转换;
int --String
static String valueof(int i)返回int参数的字符串int形式;
String -- Integer -- int
public static int perseInt(String s)将字符串参数解析为带符号的十进制整数
public class PackageClassDemo2 {
public static void main(String[] args) {
//int -- String
int num = 100;
//方式1:static String valueOf(int i) 返回 int参数的字符串 int形式。
String s = String.valueOf(num); // 100 -->"100"
System.out.println(s);
System.out.println("==================================");
//方式2:int -- Integer -- String
// String string = new String(num);
//Integer(int value) 构造一个新分配的 Integer对象,该对象表示指定的 int值。
Integer integer = new Integer(num);
System.out.println(integer); // Integer重写了toString方法
String s1 = integer.toString();
System.out.println(s1);
//方式3:字符串拼接
String s2 = ""+num;
System.out.println(s2);
//方式4:public static String toString(int i)
String s3 = Integer.toString(100);
System.out.println(s3);
System.out.println("==========================");
//String-->int
String s4 = "200";
// String s4 = "你好";
//方式1:String--Integer--int
//Integer(String s)
//构造一个新分配 Integer对象,表示 int由指示值 String参数。
Integer integer1 = new Integer(s4);
System.out.println(integer1);
//public int intValue()将 Integer的值作为 int 。
int number = integer1.intValue();
System.out.println(number);
int i = integer1; //在包装类中称之为自动拆箱
Integer i2 = 300; //在包装类中称之为自动装箱
}
}
Arrays针对数组做操作的类,该类包含用于操作数组的各种方法(如排序搜索)
public class ArraysDemo {
public static void main(String[] args) {
//定义一个数组
int[] arr = {21, 32, 44, 1, 4, 89, 16};
//public static String toString(int[] a)
//将数组转换成一个字符串
// System.out.println(arr);
String s = Arrays.toString(arr);
System.out.println(s);
System.out.println("=================================");
//public static void sort(int[] a)
Arrays.sort(arr);
System.out.println("排序后的数组为:" + Arrays.toString(arr));
System.out.println("=================================");
//public static int binarySearch(int[] a,int key)
//[1, 4, 16, 21, 32, 44, 89]
//二分查找的前提是数组本身是排过序的
System.out.println("二分查找32:" + Arrays.binarySearch(arr, 32));
System.out.println("二分查找32:" + Arrays.binarySearch(arr, 100)); // -8
}
}