邏輯運算符用於連接兩個boolean類型的值:
& 與 | 或 ^ 異或 || 短路或 &&短路與 !非(一元運算符)
位運算的運算符:
>>右移 >>>無符號右移 <<左移(相當於乘以2的n次冪)
&按位與 |按位或 ^按位異或 ~按位取反
說明:一個數異或同一個數兩次 則結果還是這個數
當涉及到2的n次冪的運算的時候,全都用移位來運算,移位比正常算乘法效率高
交換兩個數的值:
方法一 a=a+b b=a-b a=a-b
方法二 a=a^b b=a^b a=a^b
不推薦用第一種方法,因爲第一種方法如果數比較大的話,很可能超出整型的運算範圍
三元運算符:
格式 ---(條件表達式)?表達式1:表達式2;
如果條件爲真,則結果爲表達式1,否則結果爲表達式2的值
例如:z=a>b?b:a;
說明:當使用三元運算符時,必須有一個明確的返回結果,否則還是使用通吃的if else 結果比較好
程序流程控制:
順序結構 判斷結構 分支結構 循環結構
局部代碼塊:
可以再代碼中在局部代碼塊中重定義變量以屏蔽全局變量(要先理解作用域的概念)
switch語句,break可以跳出switch:
格式如下:
switch(表達式){
case 取值:
執行語句
break
case 取值:
執行語句
break
default:
執行語句
}
if和switch的應用場合:
1. if語句適合的場景如下:
1).對具體的值進行判斷
2).對區間進行判斷
3).對運算結果是boolean類型的表達式進行判斷
2. switch語句的應用場景如下:
1).對具體的值進行判斷
2).值的個數通常是固定的
對於幾個固定的結果,建議使用switch語句,因爲switch語句會將所有結果一次性
加入內存,執行效率比較高.
注意:實際上,switch語句很少使用,並且功能都能被if語句代替
循環程序while、do while and for循環:
1. while循環
1). 直到條件爲假的時候,或者遇到break語句結束循環
2. do while
1). 直到條件爲假的時候,或者遇到break語句結束循環
注意:do while循環結尾有分號
3. for循環
1). (初始化參數;條件表達式;操作表達式){}
2). for(Sop("Please input an number: ",int x=1;x<10;Sop(x),x++))
說明:初始化參數只執行一次
for和while的特點:
1. for和while完全可以互換
2. 格式上的不同,在使用上有點小區別,如果需要通過變量來對循環進行控制,該變量只作
爲循環增量存在時,那麼區別就出現了,用for可以實現,while就不可以
3. for(;;){}此即爲死循環