ice world

          There is nothing too difficult if you put your heart into it.
          posts - 104, comments - 103, trackbacks - 0, articles - 0

          Java日常隨意記

          Posted on 2013-11-21 12:49 IceWee 閱讀(470) 評論(0)  編輯  收藏 所屬分類: Java

          2013年12月10日
          ---------------------------
          冒泡排序
          void bubble(int[] array) {
                 
          boolean swaped = true;
                 
          for (int t = 1; t < array.length && swaped; t++) {
                      swaped
          = false;
                     
          for (int i = 0; i < array.length - t; i++) {
                         
          if (array[i] > array[i + 1]) {
                            
          int temp = array[i];
                              array[i]
          = array[i + 1];
                              array[i
          + 1] = temp;
                              swaped
          = true;
                          }

                      }

                  }

              }


          2013年11月26日
          ---------------------------
          1、String的split方法
          平常總是這樣用,String str = "a,b,c,d,e"; String[] arr = str.split(",");
          其實還可以這樣用,String lan = "Java;C#?C++:C"; String si = lan.split("[;?:]"); 返回的是字符串數(shù)組{"Java", "C#", "C++", "C"}


          2013年11月21日
          ---------------------------

          1、Java對象池知多少?
          示例:String s1 = "abc"; String s2 = "abc"; s1 == s2 返回ture還是false?只要不是new出來的都先從對象池中讀取,因此結(jié)果為true,兩個變量指向的是同一塊內(nèi)存空間地址。

          Java除了String類使用了對象池以外,還有5個基本類型的封裝類:Byte、Short、Integer、Long和Character,例如:Integer inA = 20; Integer inB = 20; 那么 inA == inB 的結(jié)果為true,其他類與此相同,不做示例。

          特別注意:
          (1)浮點型的兩個封裝類Float和Double并沒有參與對象池;
          (2)整形封裝類(Byte、Short、Integer和Long)只有數(shù)值小于或等于127時才使用對象池,例如:Integer x = 128; Integer y = 128; x == y的結(jié)果為false。

          2、Java變量命名規(guī)范
          A. String #name = "Joe";
          B. int $age = 30;
          C. Double _height = 174.4;
          D. float ~temp = 37.6;
          以上A到D,哪個無法通過編譯?答案是A和D,因為Java變量名只允許字母、下劃線(_)、美元符($)開頭,那么 int _ = 30; String $$ = "I DO";可以嗎?答案是完全可以,但很少有人這樣定義變量名,雖然沒有違法命名規(guī)范,但最后我估計程序員自己都會被自己繞暈。

          3、0和1能標識布爾值嗎?
          int flag = 0;
          if (flag) {
              System.out.print("error");
          }
          error會打印嗎?不會,因為根本就不會編譯通過,編譯器會提示flag是int類型而不是boolean類型,如果你會有這種想法可能之前學(xué)過C,C總的0和1可以標識布爾的。

          4、靜態(tài)導(dǎo)入
          例:
          ClassA.java
          package bing.test.sub1;

          public class ClassA {
            
          public static final int MAX_INT = Integer.MAX_VALUE;
          }



          ClassB.java
          package bing.test.sub2;

          import static bing.test.sub1.ClassA.MAX_INT;

          public class ClassB {
           
          public static void main(String[] args) {
          System.out.println(MAX_INT);
            }

          }

          輸出:2147483647。不僅僅可以靜態(tài)導(dǎo)入其他類的靜態(tài)屬性還可以導(dǎo)入靜態(tài)方法,這些特性在實際開發(fā)中很少見。









          主站蜘蛛池模板: 莱州市| 惠东县| 张掖市| 班玛县| 铜川市| 汉寿县| 灌云县| 田东县| 黔东| 乐清市| 剑河县| 花莲县| 张家川| 台州市| 霍邱县| 临朐县| 仙游县| 巴林左旗| 建平县| 武陟县| 开封县| 固阳县| 大方县| 淮南市| 秦皇岛市| 东海县| 察隅县| 江都市| 尼玛县| 江源县| 浪卡子县| 大余县| 临高县| 盐池县| 晋州市| 泉州市| 白玉县| 兴安县| 泸定县| 北流市| 龙州县|