Java基礎鞏固(二)-運算子、表示式、語句
阿新 • • 發佈:2018-12-07
運算子
型別
- 算術運算子
- 關係運算符
- 位運算子
- 邏輯運算子
- 賦值運算子
- 其他運算子
算數預算符
加減乘除
+ - * /
取餘
// % 左運算元除以右運算元的餘數
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 : //可選
//語句
}