隨筆-159  評論-114  文章-7  trackbacks-0
          變量

          1.對局部變量,要先賦值,后使用。
          2.一個局部變量,作用域,是定義它的代碼塊

          public class Test{
             public static void main(String[] args){
                  {
                      int a = 4;
                   }
                   System.out.println(a);          
             }   
          }

          a的作用域在main里面的兩個括號之間。所以,此程序編譯不通過。cannot resolve symbol

          3.對于兩個局部變量,在同一作用域內不允許兩個同名變量出現。

          public class Test{
             public static void main(String[] args){
                int a = 6;
                {
                   int a = 4;
                }
                System.out.println(a);
             }

          }

          在小代碼塊,重了。Duplicate local variable a。

          ------------------------------

          命名規范

          1.語義
          2.包,所有字母小寫
          3.類,所有單詞首字母大寫
          4.變量、方法,首字母小寫,其余單詞首字母大寫
          5.常量,所有字母大寫


          byte b=1;
          b=b+1;報錯,因為b+1運算后,系統轉為int,無法隱式轉換
          b+=1;不報錯。請查看JVM,字節碼差異。



          >>   右移  除2,左補符號位
          <<   左移  乘2,右補0
          >>>  右移,左永遠補0

          雖然比乘除運算符快,但是有問題。

          12>>32

          回變為12。

          12&9    按位與
          12|9    或
          12^9   異或

          (a>b)&(c>d)
          非短路方式,都判斷,并不會因為a>b為假而不進行后面表達式的判斷。

          (a>b)&&(c>d)
          短路方式,a>b為假,后面不執行,直接返回false。

          int i = 3;
          int count = (i++)+(i++)+(i++);
          count = 3 + 4 + 5
                      i=4  i=5  i=6

          int i =3;
          i = i++;
          那么流程如下

          i++這個表達式的值是3。然后執行i自加1,變為4(因為++操作比賦值優先級高),最后i 再次被賦值為3。



          不記運算符優先級,最好用括號老解決,很明白,否則像這樣的b+++a表達式,實際上(b++)+a。

          posted on 2005-11-24 23:26 北國狼人的BloG 閱讀(384) 評論(0)  編輯  收藏 所屬分類: 達內學習總結
          主站蜘蛛池模板: 绥化市| 腾冲县| 连城县| 宁海县| 营山县| 郁南县| 石渠县| 雷州市| 高密市| 莲花县| 大丰市| 文水县| 临夏市| 瓮安县| 抚松县| 宜兰市| 浦县| 辽阳市| 岑溪市| 普陀区| 聂拉木县| 清远市| 柳河县| 赣州市| 略阳县| 浑源县| 广丰县| 松滋市| 攀枝花市| 武宁县| 临安市| 封丘县| 阜宁县| 平度市| 邹城市| 宣城市| 禹州市| 呼伦贝尔市| 儋州市| 双辽市| 西乌|