黑马程序员——Java基础---基本数据类型对象包装类--第13天--第163-165集

时间:2021-02-28 17:27:44
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

第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进行加法运算。再将和进行装箱赋给xx的拆箱动作等效:x.intValue()

 

六、示例

        Integer x=128;

        Integer y=128;

        x==y   false

        Integer m=127;

        Integer n=127;

        m==n  true

原因:

        因为mn指向了同一个Integer对象。因为当数值在byte范围内,对于新特性,如果该数组已经存在,则不会再开辟新的空间。

 

七、小练习

[java] view plaincopy
  1. /* 
  2. "12 0 99 -7 30 4 100 13 -6" 
  3. 要求对字符串中的数值进行排序。生成一个数值从小到大新字符串。 
  4.  
  5. "-7 -6 0 4 12 13 30 99 100" 
  6.  
  7. 思路:1、将字符串切割为字符串数组 
  8.       2、将字符串数组转换为整数类型数组 
  9.       3、对整数类型数组进行冒泡排序 
  10.       4、将排序后的整数类型数组转换为字符串 
  11. */  
  12.   
  13. class  StringSort  
  14. {  
  15.     public static void main(String[] args)   
  16.     {  
  17.         String s="12 0 99 -7 30 4 100 13 -6";  
  18.         sop(s);  
  19.           
  20.   
  21.         sop(stringSort(s));  
  22.     }  
  23.   
  24.     public static String stringSort(String s)  
  25.     {  
  26.         //将字符串切割成字符串数组  
  27.         String[] str=s.split(" ");  
  28.   
  29.         //将字符串数组转换为整数类型数组  
  30.         int[] arr=stringToInt(str);  
  31.           
  32.         // 对整数类型数组进行冒泡排序  
  33.         bubbleSort(arr);  
  34.   
  35.         //将排序后的整数类型数组转换为字符串  
  36.         return intToString(arr).toString();  
  37.     }  
  38.   
  39.     // 将字符串数组转换为整数类型数组方法  
  40.     private static int[] stringToInt(String[] str)  
  41.     {  
  42.         int[] arr=new int[str.length];  
  43.         for(int x=0;x<str.length;x++)  
  44.         {     
  45.             arr[x]=Integer.parseInt(str[x]);  
  46. //          sop(arr[x]);  
  47.           
  48.         }  
  49.     //  sop(arr);  
  50.         return arr;  
  51.     }  
  52.       
  53.     //对数组进行冒泡排序  
  54.     private static void bubbleSort(int[] arr)  
  55.     {  
  56.         for (int x=0;x<arr.length ;x++ )  
  57.         {  
  58.             for (int y=0;y<arr.length-x-1; y++)  
  59.             {  
  60.                 if(arr[y]>arr[y+1])  
  61.                     swap(arr,y,y+1);  
  62.             }  
  63.         }  
  64.     //  sop(arr);  
  65.     }  
  66.   
  67.     //交换数组中的两元素  
  68.     private static void swap(int[] arr,int x,int y)  
  69.     {  
  70.         arr[x]=arr[x]^arr[y];  
  71.         arr[y]=arr[x]^arr[y];  
  72.         arr[x]=arr[x]^arr[y];  
  73. //      int temp=arr[x];  
  74. //      arr[x]=arr[y];  
  75. //      arr[y]=temp;  
  76.     }  
  77.       
  78.     //将整数类型数组存放到一个StringBuiler容器中  
  79.     private static StringBuilder intToString(int[] arr)  
  80.     {  
  81.         StringBuilder sb=new StringBuilder();  
  82.         for (int x=0;x<arr.length-1; x++)  
  83.         {     
  84.             sb.append(arr[x]+" ");  
  85.         }  
  86.         sb.append(arr[arr.length-1]+"");  
  87.   
  88.         return sb;  
  89.     }  
  90.   
  91.     //打印字符串  
  92.     private static void sop(Object obj)  
  93.     {  
  94.         System.out.println(obj);  
  95.     }  
  96.   
  97.     //遍历数组  
  98.     private static void sop(int[] arr)  
  99.     {  
  100.         for (int x=0; x<arr.length;x++ )  
  101.         {  
  102.             System.out.print(arr[x]+"\t");  
  103.         }  
  104.         System.out.println();  
  105.     }  
  106. }  

结果:

       黑马程序员——Java基础---基本数据类型对象包装类--第13天--第163-165集

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------