posts - 39,  comments - 44,  trackbacks - 0

          局部變量:不是聲明在類體括號里面的變量
           (1)必須要先賦值,后使用,否則通不過編譯,局部變量沒有默認初始化值
           (2)作用范圍:定義開始到定義它的代碼塊結束
           (3)同一范圍內,不允許2個局部變量命名沖突

           參數傳遞時,簡單類型進行值轉遞 (參數進行傳遞時都會先去棧中生成一個副本的,使用結束后釋放)
           
          自動類型提升:
           byte a = 1;
           byte b = 2;
           a = a+b;          //編譯出錯自動類型提升成int
           a += b;       //自加沒有自動類型提升問題
           類型自動提升規則:
            a和b作某種運算
            a和b中有double,結果就是double
            a和b中有float,結果就是float
            a和b中有long,結果就是long
            除此之外,結果都是int
           把高字節轉成低字節,需要作強制類型轉換. byte c=(byte)a+b;
           
          移位運算符:效率最高
           >>   有符號右移,補符號位
            移負數位,則將該數值加32后再進行移位
            數值的2進制是按照補碼保存的
           >>>  右移后高位都補0
           
          邏輯運算符:
           &/|也可以作為邏輯運算符
           && 先判斷前面一個條件,如果為假,則不用計算后一個條件
           || 先判斷前面一個條件,如果為真,則不用計算后一個條件
           
          " + "運算符:
           兩個操作的對象是數值時,是加法
           如果有一個是字符串時,則是字符串的連接
           
          流程控制語句:
           同Core C++
           switch中的變量類型只能是byte、 short、int、char四種類型
           
          數組:
           聲明數組:  
            數組能以下列形式聲明:
             類型[] array;
             類型 array[]; 
            注:
             JAVA中推薦用:類型[] array;
             一個數組是一個對象
             聲明一個數組沒有創建一個對象
             聲明時不用指定長度
             
           創建數組:
            創建基本數據類型數組:int[] i = new int[2];
            創建引用數據類型數組:Student[] s = new Student[100];
            數組創建后其中的元素有初始值
             類型                     黙認值
             byte                      0
             short                     0
             int                       0
             long                      0l
             float                     0.0f
             double                   0.0d
             char                      \u0000
             boolean                 false
             reference types     null
            注:
             創建時一定要指定長度
             int[] i2=new int[];            //error
             
           初始化數組:
            聲明、創建、初始化分開:
             int[] i;   //定義數組
             i = new int[2];  //分配空間
             i[0] = 0;    //初始化
             i[1] = 1;
             
            聲明、創建、初始化在同一時間 :
             int[] i = {0,1};   //顯示初始化  {}中有幾個值,則數組長度為幾
             Student[] s = {new Student(),new Student()};
             
            注: int[] i=new int[]{1,2,3};      //后面[]中不可以寫數值
             int[] i1=new int[3]{1,2,3};    //error
             
           二維數組:(其實是一個一維數組,它的每一個元素又是一個一維數組)
            int[][] i1 = new int[2][3];
            int[][] i4 = {{1,1,1},{2,2,2},{3,3,3}};
            int[][] i3 = new int[][3];  //不允許高維沒分配空間而先給低維分配空間
            int[][] i2 = new int[2][];
            i2[0] = new int[2];
            i2[1] = new int[3];    
            
           數組長度:
            數組的屬性length
            數組長度一旦確定,不可改變    
            int[] i = new int[5]; 則i.length= 5
            
           數組拷貝:
            系統類System提供的
            static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
             src: 源數組  
             srcPos: 從源數組哪個位置開始拷貝(位置指的是元素的下標)
             dest: 目標數組
             destPos: 拷貝的元素放到目標數組的起始位置
             length: 拷貝多少個
             
           數組排序:
            自己實現一個排序方法來進行排序
            或者調用java.util.Arrays.sort(Object o)

          posted on 2008-10-20 22:43 礦礦 閱讀(188) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 湖北省| 武宁县| 房产| 潜江市| 扬中市| 白沙| 田阳县| 吴忠市| 祁东县| 罗甸县| 阳高县| 苏尼特右旗| 名山县| 金昌市| 改则县| 阿克苏市| 宜兰市| 洮南市| 阜平县| 闻喜县| 宜都市| 射阳县| 西乌珠穆沁旗| 惠东县| 通河县| 恭城| 汨罗市| 庆城县| 平潭县| 新河县| 屯昌县| 昌吉市| 竹山县| 德昌县| 中卫市| 天水市| 张家口市| 邓州市| 中江县| 双峰县| 万州区|