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(",");
          其實(shí)還可以這樣用,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,兩個(gè)變量指向的是同一塊內(nèi)存空間地址。

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

          特別注意:
          (1)浮點(diǎn)型的兩個(gè)封裝類Float和Double并沒有參與對象池;
          (2)整形封裝類(Byte、Short、Integer和Long)只有數(shù)值小于或等于127時(shí)才使用對象池,例如: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,哪個(gè)無法通過編譯?答案是A和D,因?yàn)镴ava變量名只允許字母、下劃線(_)、美元符($)開頭,那么 int _ = 30; String $$ = "I DO";可以嗎?答案是完全可以,但很少有人這樣定義變量名,雖然沒有違法命名規(guī)范,但最后我估計(jì)程序員自己都會被自己繞暈。

          3、0和1能標(biāo)識布爾值嗎?
          int flag = 0;
          if (flag) {
              System.out.print("error");
          }
          error會打印嗎?不會,因?yàn)楦揪筒粫幾g通過,編譯器會提示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)方法,這些特性在實(shí)際開發(fā)中很少見。









          主站蜘蛛池模板: 洮南市| 栖霞市| 囊谦县| 桐梓县| 历史| 永春县| 三门峡市| 黔江区| 昭平县| 安远县| 乌拉特中旗| 姚安县| 黄山市| 外汇| 南江县| 德兴市| 客服| 京山县| 晋城| 咸宁市| 寻甸| 通榆县| 永州市| 岑巩县| 清苑县| 台安县| 揭西县| 康马县| 塔城市| 阿图什市| 抚顺县| 铜山县| 望都县| 扬中市| 鄂伦春自治旗| 孟州市| 临泉县| 阳泉市| 鹤庆县| 洛阳市| 台州市|