JAVA基礎——數據類型及運算

1.java 源文件結構
    * 公共類類名與文件名一致
    * package 聲明必須是源文件的首行代碼
              package:包,java 類的組織管理方式,本質是文件夾
    * import 引入其他包的類,指明一個類的路徑,在後面代碼中可只寫他的類名

2.變量
    * java中變量都有類型
    * 局部變量不能重複定義
    * 變量的作用域、作用範圍,變量在它定義的代碼塊中有效
    * 局部變量使用前必須初始化(即賦值)

3.java 數據類型
    * 基本類型
    * 引用類型

   基本類型
    byte             1字節,-2^7到2^7-1 ,-128 到 127
    short            2字節,-2^15 到 2^15-1 ,-32768~~32767
    int                4字節,-2^31 到 2^31-1
    long             8字節,-2^63 到 2^63-1
    float             4字節
    double          8字節
    char             2字節, 0 到 65535
    boolean

基本類型轉換
    * 低精度 -> 高精度
            byte a = -128;
            int b = a;
            byte->short->int->long->double
    
    * 低精度 <- 高精度
            * 強制轉型
            int a = 130;
            byte b = (byte) a;


基本類型字面值
    * 寫整數字面值,類型是 int 類型
            long a = 9999999999;//錯
    * byte、short、char 允許以範圍內的字面值直接賦值
                byte b = 34;
    * 浮點數字面值,是 double 類型
            double a = 3.14;
            float b = 3.14F;
    * 後綴:
            L - long
            F - float
            D - double
            
            L - 9999999999L
            F - 3.14F
            D - 3D


基本類型運算規則
    * 運算結果的數據類型與運算項中精度最高的類型一致
            1 / 2 結果是 0 而不是 0.5
    * byte、short、char 三種整數類型做數學運算時,會先自動轉爲 int 類型
            byte a = 2;
            byte b = 3;
            byte c = a + b;//錯,右側兩項會自動轉爲int
    * 整數運算溢出
            int a = Integer.MAX_VALUE;
            int b = a + 1;//能執行,得到int最小值
    * float、double 運算不精確
            2-1.9 得到: 0.10000000000009
            4.35*100 得到: 434.999999999999996
    * float、double 特殊值
            Infinity    - 無窮大
                        double a = Double.MAX_VALUE*2
                        double b = 3.0 / 0;
            NaN       - Not a Number
                        double a = Math.sqrt(-2);
            
 運算符
    數學運算
            + - * /  %
            % - 求餘數、求模
    比較運算,返回 boolean
            ==  !=
            >   >=   <   <=
    邏輯運算
            && - 邏輯與,兩側同時爲真,結果爲真,短路與,左側爲假,右側不執行
            || - 邏輯或,兩側同時爲假,結果爲假,短路或,左側爲真,右側不執行
            
    二進制位運算
            &  位與,兩位同時爲1,結果爲1
            |  位或,兩位同時爲0,結果爲0
            ^  異或,相同爲0,不同爲1
            ~     取反,0變1,1變0
    移位運算
            >>        右移位,符號位是0,左側補0;符號位是1,左側補1
            >>>        無符號右移位,左側補0
            <<        左移位,右側補0
           

           

流程控制
        if-else if-else
        switch-case-default 
        for
        while                - 先判斷再執行
        do-while        - 先執行再判斷
        break                 - 跳出循環、switch
        continue        - 繼續下一輪循環
        return                            
                                    while(...) {
                                        xxx
                                        if(...) {
                                                continue;
                                        }
                                        xxx
                                        xxx
                                    }
        循環命名
                                  outer:
                                  while(1) {
                                          inner:
                                          while(2) {
                                                  xxx
                                                  if(...) {
                                                          continue outer;
                                                  }
                                                  xxx
                                                  
                                                  if(...) {
                                                          break outer;
                                                  }
                                                  
                                          }
                                  }                                  

     

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章