基本数据类型对象包装类
*为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作*用于描述该对象的类就称为基本数据类型包装类。
*byte Byte
*short Short
*int Integer
*long Long
*float Float
*double Double
*char Character
*boolean Boolean
* 基本类型--->字符串
*1 基本类型+""
*2 用String类中的静态方法valueOf(基本类型数值)
*1 使用包装类的静态方法 xxx parseXxx("xxx类型的数值")
* int parseInt("intstring")
* long parseLong("longstring")
* boolean parseBoolean("booleanstring")
* 只有Character无parse的方法
*2 如果字符串被Integer进行对象的封装。
* 可使用另一个非静态的方法,intValue();
* 将一个Integer对象转成基本数据类型值
*整数具备不同的体现
*十进制-->其他进制。
*其他进制-->十进制
*十进制--->其他进制
*System.out.println(Integer.toBinaryString(60))
*System.out.println(Integer.toOctalString(60))
*System.out.println(Integer.toHexString(60))
*其他进制-->十进制
* parseInt("string",radix)
* */
自动装箱:
int num = 4;
Integer i = 4;//jdk1.5以后 自动装箱 简化书写
i = i + 6;//i = new Integer(i.intValue() + 6);//i.intValue()自动拆箱
Integer a = new Integer(127);
Integer b = new Integer(127);
System.out.println(a==b);//false
System.out.println(a.equals(b));//true equals 比较的是值
Integer x = 129;
Integer y = 129;
System.out.println(x==y);//jdk1.5以后,自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间,这里以127为分解线,-128-127为true
System.out.println(x.equals(y));//true
练习:
对一个字符串的数值进行从小到大的排序。
“20 78 9 -7 88 36 29"import java.util.Arrays;
public class WrapperTest {
private static final String SPACE_SEPARATOR = " ";
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/
* 思路:
* 1 排序
* 2 如何获取到这个字符串中的这些需要排序的数值
* 字符串中其实都是空格来对数值进行分割的
* 所以就用字符串对象的切割方法将大串变成多个小串
* 3 数值最终变成小字符串,怎么变成一个int数呢?
* 字符串-->基本类型可以使用包装类
* */
String numStr = "20 78 9 -7 88 36 29";
System.out.println(numStr);
numStr = sortString(numStr);
System.out.println(numStr);
}
private static String sortString(String numStr) {
// TODO Auto-generated method stub
// 1 将字符串变成字符串数组
String[] str_arr = stringToArray(numStr);
// 2 将字符串数组变成int数组
int[] num_arr = toIntArray(str_arr);
// 3 对int数组排序
mySortArray(num_arr);
// 4 将排序后的int数组变成字符串
String temp = arrToString(num_arr);
return temp;
}
public static String arrToString(int[] num_arr) {
// TODO Auto-generated method stub
StringBuilder sb = new StringBuilder();
for(int i = 0;i<num_arr.length;i++){
if(i!=num_arr.length-1)
sb.append(num_arr[i]+SPACE_SEPARATOR);
else
sb.append(num_arr[i]);
}
return sb.toString();
}
public static void mySortArray(int[] num_arr) {
// TODO Auto-generated method stub
Arrays.sort(num_arr);
}
public static int[] toIntArray(String[] str_arr) {
// TODO Auto-generated method stub
int[] arr = new int[str_arr.length];
for(int x = 0;x<str_arr.length;x++){
arr[x] = Integer.parseInt(str_arr[x]);
}
return arr;
}
public static String[] stringToArray(String numStr) {
String[] str_arr = numStr.split(SPACE_SEPARATOR);
return str_arr;
}
}