1. 程式人生 > >Java基礎鞏固(二)-運算子、表示式、語句

Java基礎鞏固(二)-運算子、表示式、語句

運算子

型別

  • 算術運算子
  • 關係運算符
  • 位運算子
  • 邏輯運算子
  • 賦值運算子
  • 其他運算子

算數預算符

加減乘除

+ - * /

取餘

//  % 左運算元除以右運算元的餘數
int d = 3%2;
System.out.println("取餘後:"+d);
// console 
// 取餘後:1

自增自減

public static void main(String args[]) {
    int a = 10;
    int d = 25;
     // ++ 操作值+1  
    System.out.println
("a++ = " + (a++) ); System.out.println("a-- = " + (a--) ); // 檢視 d++ 與 ++d 的不同 System.out.println("d++ = " + (d++) ); System.out.println("++d = " + (++d) ); }

console

a++   = 10
a--   = 11
d++   = 25
#上一步的 d++ 已經將d 賦值為26 
++d   = 27

注:這裡可以發現
++ 放在引數後面的話 是先使用當前引數參與操作
++ 放在引數前面的話 是先進行引數的+1操作後 才進行操作
減減-- 同理

###關係運算符

# 這個就不分析了
==  !=  >  <  >=  <= 

位運算子

/**
 * @author stone
 * @des 位運算子操作測試
 * @date 2018/11/28/028 14:41
 **/
public class BitwiseOperatorTest {

    public static void main(String[] args) {
        /* 60 = 0011 1100 */
        int a = 60;
        /* 13 = 0000 1101 */
        int b = 13;
int c = 0; // 如果相對應位都是1,則結果為1,否則為0 // 60 = 0011 1100 // 13 = 0000 1101 // 12 = 0000 1100 c = a & b; System.out.println("a & b = " + c); // 如果相對應位都是0,則結果為0,否則為1 // 60 = 0011 1100 // 13 = 0000 1101 // 61 = 0011 1101 c = a | b; System.out.println("a | b = " + c); // 如果相對應位值相同,則結果為0,否則為1 // 60 = 0011 1100 // 13 = 0000 1101 // 49 = 0011 0001 c = a ^ b; System.out.println("a ^ b = " + c); // 按位取反運算子翻轉運算元的每一位,即0變成1,1變成0。 // 60 = 0011 1100 // -61 =1100 0011 c = ~a; System.out.println("~a = " + c); // 按位左移運算子。左運算元按位左移右運算元指定的位數。 // 60 = 0011 1100 // 240 =1111 0000 c = a << 2; System.out.println("a << 2 = " + c); // 按位右移運算子。左運算元按位右移右運算元指定的位數。 // 60 = 0011 1100 // 15 = 1111 c = a >> 2; System.out.println("a >> 2 = " + c); // 按位右移補零操作符。左運算元的值按右運算元指定的位數右移,移動得到的空位以零填充。 // 60 = 0011 1100 // 15 = 0000 1111 c = a >>> 2; System.out.println("a >>> 2 = " + c); } }

邏輯運算子

# 用的太熟了 不分析了
# 或
|| 
# 與
&&
# 非
! 

賦值運算子

= 
+=
-=
* =
/ = 
# 取模和賦值操作符,它把左運算元和右運算元取模後賦值給左運算元
(%)=
# 左移位賦值運算子
<< =
# 右移位賦值運算子
>> =
# 按位與賦值運算子
&=
# 按位異或賦值操作符
^ =
# 按位或賦值操作符
| =

條件運算子(?:)(三元操作符)

// variable x = (expression) ? value if true : value if false
int a = 60;
String str = (a == 1) ? "真" : "假"; 
// console "假"

instanceof 運算子

該運算子用於操作物件例項,檢查該物件是否是一個特定型別(類型別或介面型別)。

// ( Object reference variable ) instanceof  (class/interface type)
String name = "James";
boolean result = name instanceof String; 
// 由於 name 是 String 型別,所以返回真

語句

迴圈

  • while 迴圈

    while( 布林表示式 ) {
      //迴圈內容
    }
    
  • do…while 迴圈

    do() {
      //迴圈內容
    }while(布林表示式)
    
  • for 迴圈

    // 基礎型
    for(初始化; 布林表示式; 更新) {
     //迴圈內容
    }
    
    // 增強型
    for(宣告語句:表示式){
     // 迴圈內容
    }
    

break 關鍵字

break 主要用在迴圈語句或者 switch 語句中,用來跳出整個語句塊。
break 跳出最裡層的迴圈,並且繼續執行該迴圈下面的語句。

continue 關鍵字

continue 適用於任何迴圈控制結構中。作用是讓程式立刻跳轉到下一次迴圈的迭代。
在 for 迴圈中,continue 語句使程式立即跳轉到更新語句。
在 while 或者 do…while 迴圈中,程式立即跳轉到布林表示式的判斷語句。

if…else

if(布林表示式)
{
   //如果布林表示式為true將執行的語句
}

switch case

switch(expression){
    case value :
       //語句
       break; //可選
    case value :
       //語句
       break; //可選
    //你可以有任意數量的case語句
    default : //可選
       //語句
}