第13天-第163-165集
学习视频下载地址http://blog.csdn.net/abc784990536/article/details/42041151
基本数据类型对象包装类:
将基本数据类型封装成对象的好处,在于可以在对象中定义更多的功能方法操作该数据。基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换。下面我们来了解包装类的写法形式和常用方法。
一、基本数据类型对象包装类。
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
二、基本数据类型转成字符串
基本数据类型+" "
基本数据类型.toString(基本数据类型值);
如:Integer.toString(34);//将34整数变成"34"。
三、字符串转成基本数据类型。
xxx a=Xxx.parseXxx(string);//必须传入对应类型的字符串。
如 inta=Integer.parseInt("123");//静态
booleanb=Boolean.parseBoolean("true");
Integeri=new Integer("123");
intnum=i.intValue();//跟上面的静态方式的结果一样,但这种属于对象调用方式。
注意:
在使用时,Integer x = null;上面的代码就会出现NullPointerException。
四、十进制转成其他进制。
toBinaryString();
toHexString();
toOctalString();
五、其他进制转成十进制。
parseInt(String,radix);
如:int a= Intager.parseInt("3c",16);
JDK1.5版本以后出现的新特性。
Integer x=new Integer(4);
等效于:Integer x=4;//自动装箱。
还可以直接进行运算:x=x+2;//x进行自动拆箱。变成了int类型。和2进行加法运算。再将和进行装箱赋给x。x的拆箱动作等效:x.intValue()。
六、示例
Integer x=128;
Integer y=128;
x==y (false)
Integer m=127;
Integer n=127;
m==n ( true)
原因:
因为m和n指向了同一个Integer对象。因为当数值在byte范围内,对于新特性,如果该数组已经存在,则不会再开辟新的空间。
七、小练习
- /*
- "12 0 99 -7 30 4 100 13 -6"
- 要求对字符串中的数值进行排序。生成一个数值从小到大新字符串。
- "-7 -6 0 4 12 13 30 99 100"
- 思路:1、将字符串切割为字符串数组
- 2、将字符串数组转换为整数类型数组
- 3、对整数类型数组进行冒泡排序
- 4、将排序后的整数类型数组转换为字符串
- */
- class StringSort
- {
- public static void main(String[] args)
- {
- String s="12 0 99 -7 30 4 100 13 -6";
- sop(s);
- sop(stringSort(s));
- }
- public static String stringSort(String s)
- {
- //将字符串切割成字符串数组
- String[] str=s.split(" ");
- //将字符串数组转换为整数类型数组
- int[] arr=stringToInt(str);
- // 对整数类型数组进行冒泡排序
- bubbleSort(arr);
- //将排序后的整数类型数组转换为字符串
- return intToString(arr).toString();
- }
- // 将字符串数组转换为整数类型数组方法
- private static int[] stringToInt(String[] str)
- {
- int[] arr=new int[str.length];
- for(int x=0;x<str.length;x++)
- {
- arr[x]=Integer.parseInt(str[x]);
- // sop(arr[x]);
- }
- // sop(arr);
- return arr;
- }
- //对数组进行冒泡排序
- private static void bubbleSort(int[] arr)
- {
- for (int x=0;x<arr.length ;x++ )
- {
- for (int y=0;y<arr.length-x-1; y++)
- {
- if(arr[y]>arr[y+1])
- swap(arr,y,y+1);
- }
- }
- // sop(arr);
- }
- //交换数组中的两元素
- private static void swap(int[] arr,int x,int y)
- {
- arr[x]=arr[x]^arr[y];
- arr[y]=arr[x]^arr[y];
- arr[x]=arr[x]^arr[y];
- // int temp=arr[x];
- // arr[x]=arr[y];
- // arr[y]=temp;
- }
- //将整数类型数组存放到一个StringBuiler容器中
- private static StringBuilder intToString(int[] arr)
- {
- StringBuilder sb=new StringBuilder();
- for (int x=0;x<arr.length-1; x++)
- {
- sb.append(arr[x]+" ");
- }
- sb.append(arr[arr.length-1]+"");
- return sb;
- }
- //打印字符串
- private static void sop(Object obj)
- {
- System.out.println(obj);
- }
- //遍历数组
- private static void sop(int[] arr)
- {
- for (int x=0; x<arr.length;x++ )
- {
- System.out.print(arr[x]+"\t");
- }
- System.out.println();
- }
- }
结果:
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------