1. 程式人生 > >Java中一些知識的歸納總結

Java中一些知識的歸納總結

1.包裝型別與基本資料型別的區別。

    Java語言是一個面向物件的語言,但是Java中的基本資料型別卻是不面向物件的,這使得Java在實際使用時存在很多的不便,為了解決這個不足,在設計類時為每個基本資料型別設計了一個對應的類進行代表,這樣八個和基本資料型別對應的類統稱為包裝類(Wrapper Class),包裝類也就是基礎資料型別的引用型別。 包裝類均位於java.lang包,包裝類和基本資料型別的對應關係如下表所示:

在這八個類名中,除了Integer和Character類以外,其它六個類的類名和基本資料型別一致,只是類名的第一個字母大寫即可。

    對於包裝類來說,這些類的用途主要包含兩種:

        a、作為和基本資料型別對應的類型別存在,方便涉及到物件的操作。

        b、包含每種基本資料型別的相關屬性如最大值、最小值等,以及相關的操作方法。

2.Java中valueOf()、xxxValue()、parseXxx()方法的一些練習。

3.Java中的型別轉換。

(1)String轉換為int

         int i = Integer.parseInt(str);

         int i = Integer.valueOf(str).intValue();

(2)String轉換為Integer

         兩種構造方法的區別,Character只有一種

(3)int轉換為String

         String s = s.valueOf(i);

         String s = Integer.toString(i);

         String s = “”+i;

(4)int轉換為Integer

(5)Integer轉換為String

(6)Integer轉換為int


   
  1. public class TypeConversion
  2. {
  3. public static void main(String[] args){
  4. //String --> int
  5. String s = "111";
  6. int i1 = Integer.parseInt(s); //直接使用靜態方法,不會產生多餘的物件,但會丟擲異常
  7. System.out.println( "String --> int : i1=" + i1);
  8. int i2 = Integer.valueOf(s).intValue(); //Integer.valueOf(s) 相當於 new Integer(Integer.parseInt(s)),也會拋異常,但會多產生一個物件
  9. System.out.println( "String --> int : i2=" + i2);
  10. int i3 = Integer.parseInt(s, 10); //若int i = Integer.parseInt("123",16);即可以看成i = 1*16*16+2*16+3
  11. System.out.println( "String --> int : i3=" + i3 + '\n');
  12. //int --> String
  13. int j = 222;
  14. String t1 = String.valueOf(j); //直接使用String類的靜態方法,只產生一個物件
  15. System.out.println( "int --> String : t1=" + t1);
  16. String t2 = Integer.toString(j); //直接使用靜態方法,產生新的物件,會丟擲異常
  17. System.out.println( "int --> String : t2=" + t2);
  18. String t3 = "" + j; //會產生兩個String物件
  19. System.out.println( "int --> String : t3=" + t3 + '\n');
  20. //int --> Integer
  21. int m = 333;
  22. Integer n1 = m; //裝箱
  23. System.out.println( "int --> Integer:n1=" + n1);
  24. Integer n2 = new Integer(n1);
  25. System.out.println( "int --> Integer:n2=" + n2);
  26. Integer n3 = Integer.valueOf(n2);
  27. System.out.println( "int --> Integer:n3=" + n3 + '\n');
  28. //Integer --> int
  29. Integer x= 444;
  30. int y1 = x; //拆箱
  31. System.out.println( "Integer --> int:y1=" + y1);
  32. int y2 = x.intValue();
  33. System.out.println( "Integer --> int:y2=" + y2);
  34. int y3 = Integer.valueOf(x);
  35. System.out.println( "Integer --> int:y3=" + y3 + '\n');
  36. //String --> Integer
  37. String r = "555";
  38. Integer k1 = Integer.valueOf(r); //這種方法常用
  39. System.out.println( "String --> Integer:k1=" + k1);
  40. Integer k2 = new Integer(r);
  41. System.out.println( "String --> Integer:k2=" + k2);
  42. Integer k3 = Integer.parseInt(r);
  43. System.out.println( "String --> Integer:k3=" + k3);
  44. Integer k4 = Integer.parseInt(r, 10);
  45. System.out.println( "String --> Integer:k4=" + k4 + '\n');
  46. //Integer --> String
  47. Integer l = 666;
  48. String z1 = String.valueOf(l);
  49. System.out.println( "Integer --> Stringf:z1=" + z1);
  50. String z2 = l.toString();
  51. System.out.println( "Integer --> Stringf:z2=" + z2);
  52. String z3 = "" + l;
  53. System.out.println( "Integer --> Stringf:z3=" + z3 + '\n');
  54. }
  55. }


4.用Java程式設計實現以下功能:通過鍵盤輸入兩個數,初始化並將這兩個數值交換後,輸出顯示後的資料。


   
  1. import java.util.Scanner;
  2. public class StudyDiary02
  3. {
  4. public static void main(String[] args){
  5. Scanner input = new Scanner(System.in);
  6. System.out.print( "請輸入第一個值:");
  7. int a = input.nextInt();
  8. System.out.print( "請輸入第二個值:");
  9. int b = input.nextInt();
  10. System.out.println( "交換之前的兩個值為"+a+ ","+b);
  11. int c;
  12. c = a;
  13. a = b;
  14. b = c;
  15. System.out.println( "交換之後的兩個值為"+a+ ","+b);
  16. }
  17. }


5.用Java程式設計實現以下功能:定義一個五位整數,求各個位上的數的和。


   
  1. import java.util.Scanner;
  2. public class StudyDiary03
  3. {
  4. public static void main(String[] args) {
  5. Scanner in = new Scanner(System.in);
  6. System.out.print( "請輸入一個五位整數:");
  7. int i = in.nextInt();
  8. int sum = 0;
  9. if (i < 10000 || i > 99999) {
  10. System.out.println( "輸入有誤!");
  11. } else {
  12. for ( int j = 0; j < 5 ; j++ ) {
  13. sum += i % 10;
  14. i = i / 10;
  15. }
  16. System.out.println( "該五位整數各位數上之和為sum=" + sum );
  17. }
  18. }
  19. }

6.用Java程式設計實現以下功能:根據天數計算其包含的週數和剩餘的天數。(天數通過鍵盤輸入)


   
  1. import java.util.Scanner;
  2. public class StudyDiary04
  3. {
  4. public static void main(String[] args){
  5. Scanner in = new Scanner(System.in);
  6. System.out.print( "請輸入要轉換的天數:");
  7. int day = in.nextInt();
  8. int week = day / 7;
  9. day = day % 7;
  10. System.out.println( "為" + week + "周," + day + "天。");
  11. }
  12. }

7.學會使用API文件,看一看String類的所有方法。

8.明確什麼是引用型別,和C++的指標有什麼異同,掌握java中陣列的基本知識,例如(動態/靜態)初始化,賦值,求大小,關於大小改變與C/C++中的區別。