Java學習筆記,第三章

Java基礎語法測試

3.1類型、變量與運算符

3.1.1類型

Java可分爲基本類型類類型或參考類型。基本類型主要有編碼

  • 整數:可分爲short整數(2字節,-32768 -- 32767),int整數(4字節,-2147483648 -- 2147483647),long整數(8字節,-9223372036854775808 -- 9223372036854775807)。
  • 字節:byte,長度一字節,須要逐字節處理數據時使用,表示-128~127的整數。
  • 浮點數:主要用來存儲小數數值,分爲float浮點數(4字節)和double(8字節)。float,double精度範圍分別爲-126 -- 127和-1022 -- 1023。
  • 字符:char用來存儲字符符號,JDK 8中Java字符采用Unicode 6.2.0編碼,JVM中採用UTF-16 big EndIan,每一個字符佔2字節,漢字與英文字符都是採用雙字節存儲。char可表示的Unicode範圍0 -- ffff。
  • 布爾:boolean表明true和false;

經常使用格式控制符號
System.out.printf("%d", arg)輸出控制符號:%%表示%,%d以十進制格式輸出,%f以十進制浮點格式輸出,%o以八進制格式輸出,%x以十六進制格式輸出,%s字符串格式輸出,%c字符符號輸出,%h使用Integer.toString(arg.hashCode())來獲得輸出結果。code

3.1.2變量

一、基本規則

  • 變量不可以使用特殊字符,不可與Java關鍵詞同名,不可與Java保留字同名。
  • 以小寫字母開始,每一個單詞第一個字母大寫,即駝峯式命名法。
  • 方法內部聲明的變量是局部變量,變量在未賦初值即沒有初始化以前不能夠被引用。

二、字面常量

int num1 = 12;  //十進制表示
int num2 = 0xc;  //十六進制表示
int num3 = 014;  //八進制表示

浮點數也可用科學計數法表示對象

double num1 = 0.00123;  
double num2 = 1.23e-3;

字符用'表示字符串

char c1 = 'S';
char c2 = '李';

轉義字符:hash

\\  ————反斜槓\  
\'  ————單引號  
\"  ————雙引號    
\f  ————換頁  
\n  ————換行

三、數字常量表示法

用下劃線更清楚表示it

int num4 = 1234_5678;
double num5 = 3.1415_9265;

二進制也能夠for循環

int num6 = 0b101010101010;
int num7 = 0b1010_1010_1010;

3.1.3運算符

一、算術運算

+,-,*,/,%編譯

二、比較、條件運算

System.out.printf("10 >= 5 結果 %b%n", 10>=5);
System.out.printf("10 <= 5 結果 %b%n", 10<=5);
System.out.printf("10 != 5 結果 %b%n", 10!=5);

對於類類型聲明的參考名稱來講,兩個參考名稱使用==比較,是比較兩個名稱是否參考至同一對象。(字符串是一個對象,比較時不用==,而是equals())
條件運算符,使用方式以下
條件式 ? 成立返回值 : 失敗返回值test

int score = 59;
System.out.printf("該學生是否及格? %c%n", score >= 60 ? '是':'否');

三、邏輯運算

&&AND(且),||(或)OR,!(非)NOT。

四、位運算

&(AND),|(OR),^(XOR異或),~(補碼,按位取反),<<左移(左邊移除去的位被丟棄右邊補0),>>右移(右邊一處去的位被丟棄,左邊補上原來的位),>>>(右移後左邊補0)。

五、遞增遞減運算

六、指定運算符

+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=

3.1.4類型轉換

  • 精度轉換

    float f1 = 3.14f;
    f2 = (float) 3.14;
    經過以上兩種方式能夠經過編譯。
    程序中寫下整數時默認使用不超過int類型的長度2147483647,使用long c = 21_4748_3648L; 能夠經過編譯。
  • 自動提高類型
    表達式中包含不一樣類型,運算是以長度最長類型爲主。

    short e = 1, g = 2;
    short h = (short) (g + e);

運算整數時若是不大於int,則在int空間計算,int結果沒法直接放入short,因此須要強轉。

int最大2147483647 + 1會獲得-2147483648,即會溢出。

3.2流程控制

3.2.1 if...else條件式

3.2.2 switch條件式

switch() {
    case 整數、字符、字符串或Enum:  
        描述句;
        break;
    case 整數、字符、字符串或Enum:  
        描述句;
        break;
    ....
    default:
        描述句;
}

3.2.3 for循環

for(初始試; 執行結果必須是boolean的重複式; 重複式) {
    描述句;    
}

第二個區域若沒有寫就是默認的true。
for(;;) {}表示無窮循環。

3.2.4 while循環

while(條件式){
    描述句;
}

while又稱爲前測試循環,可使用do...while後測試循環,先執行動做在判斷要不要重複。

do {
    描述句;
}while(條件式);

3.2.5 break、continue

  • break在switch主要用來中斷下一個case比較,在for,while,do...while中主要用來中斷當前循環。
  • continue與break相似,但在循環中只是中斷但前循環,回到開頭進行下一次循環,不離開循環。
  • break和continue還能夠配合標籤使用,

    back : {
          for(int y = 1; y <= 10; y++) {
              if(y == 9) {
                  System.out.println("break");
                  break back;
              }
          } 
          System.out.println("test");
      }

當執行到break back時返回至back標籤處以後整個back區塊都不執行而跳過。

back1 : for(int x = 0; x < 10; x++) {
        back2 : 
        for(int z = 0; z < 10; z++) {
            if (z == 9) {
                continue back2;
            }
        }
        System.out.println("test");
    }

continue只能設定在for循環以前,能夠自由的跳到任意層循環。

相關文章
相關標籤/搜索