愛轉圈筆記
勤思、體悟、總結、分享
運算符&控制語句
一、運算符
- 賦值運算符
- 賦值=
- 算術運算符
- 加+
- 減-
- 乘*
- 除/
- 取餘%
- ++(自增)
- –(自減)
- 關係運算符
- 大於>
- 小於<
- 等於==
- 大於等於>=
- 小於等於<=
- 不等於!=
- 邏輯運算符
- 與&&
- 或||
- 非!
- 位運算符
- &
- |
- <<(左移一位,相當於*2)
- >>(右移一位,相當於/2)
- 擴展運算符
- +=
- -=
- *=
- /=
- %=
- 三目運算符
- (布爾表達式)?爲真返回:爲假返回
public class Operator {
//賦值運算符
public void operator1(){
int a = 1;//將 a 賦值爲1
}
//算術運算符
public void operator2(){
int a = 1 + 1;//加
int b = 2 - 1;//減
int c = 2 * 2;//乘
int d = 4 / 2;//除
int e = 12 % 5;//取餘(模運算)
a++;//自增,等同於a = a + 1;先使用,再加1
++a;//自增,等同於a = a + 1;先加1,再使用
b--;//自減,等同於a = a - 1;先使用,再減1
--b;//自減,等同於a = a - 1;先減1,再使用
}
//關係運算符
public void operator3(){
int a = 1;//比較值a
int b = 2;//比較值b
boolean c1 = a > b ;//比較 a 是否大於 b,結果賦值給c1
boolean c2 = a < b ;//比較 a 是否小於 b,結果賦值給c2
boolean c3 = a == b ;//比較 a 是否等於 b,結果賦值給c3
boolean c4 = a >= b ;//比較 a 是否大於等於 b,結果賦值給c4
boolean c5 = a <= b ;//比較 a 是否小於等於 b,結果賦值給c5
boolean c6 = a != b ;//比較 a 是否不等於 b,結果賦值給c6
}
//邏輯運算符
public void operator4(){
boolean a = true;//比較值a
boolean b = false;//比較值b
boolean c1 = a && b;//a和b同時爲true,c1爲true,否則爲false
boolean c2 = a || b;//a和b有1個爲true,c2爲true,否則爲false
boolean c3 = !a;//取反,若a爲true 則c3爲false
}
//位運算符
public void operator5(){
int a = 100;//運算值a,二進制: 1100100
int b = 1000;//預算值b,二進制:1111101000
//二進制位運算:0和1相或爲1,相與爲0,0和0相與相或都爲0,1和1相與相或都爲1
int c1 = a & b;//按位與運算,c1二進制:1100000 十進制:96
int c2 = a | b;//按位或運算,c2二進制:1111101100 十進制:1004
int c3 = a << 1;//按位向左移1位,相當於乘2,c3十進制:200
int c4 = a >> 2;//按位向右移1位,相當於除2,c4十進制:25
//位運算效率較高,但計算較複雜,初學者謹慎使用,二進制運算方法請自行查找
}
//擴展運算符
public void operator6(){
int a = 22;//運算值a
a += 2;//等價於a = a + 2;
a -= 2;//等價於a = a - 2;
a *= 2;//等價於a = a * 2;
a /= 2;//等價於a = a / 2;
a %= 2;//等價於a = a % 2;
}
//三目運算符
public void operator7(){
int a = 1;//比較值1
int b = 2;//比較值2
String str = a > b ? "a" : "b";//若a>b則將“a”賦值str,否則將“b”賦值str
}
}
二、控制語句
1. 順序結構
程序中代碼按順序執行
2. 選擇結構
if(){}
if(){} else{}
if(){} else if(){} else{}
switch(){}(多值選擇時使用,表達式爲int或自動轉爲int的類型以及枚舉)
3. 循環結構
while(先判斷後執行)
for(先判斷後執行)
do while(先執行後判斷)
4. 控制
break:強制終止當前循環。
continue:停止本次循環在continue後面的代碼,執行下一次循環。
public class ControlStatement {
public static void main(String[] args){
//順序結構,程序從上到下按順序執行代碼
caseStructure();
loopStructure();
}
//選擇結構
static void caseStructure(){
int a = 1;//比較值1
int b = 2;//比較值2
//if判斷
if(a>b){
//若a>b,則執行此處代碼,否則跳過此處向下執行
}
//多重if判斷
if(a>b){
//若a>b,則執行此處代碼
}else if(b==a){
//若b==a,則執行此處代碼
}else{
//以上條件都不成立時,則執行此處代碼
}
//switch選擇結構
switch(a){//每個case下的break必須加上,否則會按順序執行,失去選擇的意義
case 1://當a=1時,執行下面b=10
b = 10;
break;
case 2://當a=2時,執行下面b=100
b = 100;
break;
case 3://當a=3時,執行下面b=1000
b = 1000;
break;
default://當a沒有匹配case中的值時,執行下面b=4
b = 4;
break;
}
}
//循環結構
static void loopStructure(){
String str = "abc";
//for循環
for(int i=0;i<10;i++){
str = "123";
continue;//停止本次循環在continue後面的代碼,執行下一次循環。
}
//while循環,判斷是否成立,若成立則執行
while(true){
str = "def";
break;//強制終止當前循環,只能在循環體內和switch語句體內使用break;
}
//do while 循環,先執行do內的代碼,再進行判斷
do{
str = "def";
}while("abc".equals(str));
}
}