自增、自減操作符 自增自減操作符是可以直接改變變數值的操作符 前加加、前減減(先賦值後使用) 後加加、後加加(先使用後賦值) 實際上是一個+1操作和一個賦值操作的縮寫形式(a++; a=a+1; a+=1;) public class IncreaseDecrease { public static ...
自增、自減操作符
- 自增自減操作符是可以直接改變變數值的操作符
- 前加加、前減減(先賦值後使用)
- 後加加、後加加(先使用後賦值)
- 實際上是一個+1操作和一個賦值操作的縮寫形式(a++; a=a+1; a+=1;)
public class IncreaseDecrease { public static void main(String[] args) { int a = 1; System.out.println("a++=" + a++); // 先使用再+1 此時:a的值為1 System.out.println("a=" + a); // a的值為2 a=1; System.out.println("++a=" + ++a); // 先+1再使用 此時:a的值為2 System.out.println("a=" + a); // a的值為2 int b = 10; System.out.println("b--=" + b--); // 此時:b的值為10 System.out.println("b=" + b); // b的值為9 } }
習題一、列印26個英文字母
知識點
- 自動類型轉換:char 到 int
- 強制類型轉換:int 到 char
- 字元和數字的對應關係,字元集和編碼
- 字元串的加法:任何數據和字元串都可以相加,將這個數據的字元串和另一個字元串拼接起來
- 自增操作符
public class Print26Char { public static void main(String[] args) { char ch = 'A'; int num = ch; // char -> int 自動類型轉換 System.out.println( num + "\t" + ((char)(num++)) ); // int -> char 強制類型轉換(可能會丟失精度) System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); System.out.println( num + "\t" + ((char)(num++)) ); } }
難點解析:強制類型轉換公式:(目標轉換類型)(轉換前的源數據)
習題二、找到可以被整除的數
知識點
- 取模運算:整數的取模運算(%)
- 布爾運算:== 操作符
- 自增運算
public class FindDiv { public static void main(String[] args) { int dividend = 35; // 被除數 int divisor = 9; // 除數 System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor== 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); System.out.println(dividend+"可以整除"+divisor+"嗎?" + ((dividend++) % divisor == 0)); } }
難點解析:利用自增運算符的特性,這裡用到的是後加加,這樣就實現了先使用原值再賦值得到新值的目的。