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 閱讀(465) 評論(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("[;?:]"); 返回的是字符串?dāng)?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能標(biāo)識布爾值嗎?
          int flag = 0;
          if (flag) {
              System.out.print("error");
          }
          error會打印嗎?不會,因為根本就不會編譯通過,編譯器會提示flag是int類型而不是boolean類型,如果你會有這種想法可能之前學(xué)過C,C總的0和1可以標(biāo)識布爾的。

          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ā)中很少見。









          主站蜘蛛池模板: 临澧县| 北安市| 武川县| 交城县| 赤城县| 嵊泗县| 丰宁| 昌图县| 鄱阳县| 漠河县| 湖北省| 红安县| 洪雅县| 宁明县| 安阳市| 资兴市| 宁化县| 观塘区| 潞西市| 盖州市| 聂拉木县| 莱西市| 鄂伦春自治旗| 西畴县| 海林市| 贵港市| 尚志市| 信宜市| 香港| 绵阳市| 锡林浩特市| 博湖县| 鞍山市| 庆元县| 罗田县| 潮州市| 武冈市| 潼南县| 阳信县| 监利县| 东平县|