運算符,分支結構和循環結構
1. 運算符
1.1 自增自減運算符
【注意】
自增自減運算符有且只能操作變量。
++:操作的變量自增 1
變量前: 先執行自增語句,再來參與當前代碼行運行
變量後: 先執行當前代碼行運行,再執行自增語句
--:操作的變量自減 1
變量前: 先執行自減語句,再來參與當前代碼行運行
變量後: 先執行當前代碼行運行,再執行自減語句
【開發建議】
1. 非要使用自增長運算符,建議單獨成行。
2. 使用 += 1 和 -= 1 替換自增自減運算符 Swift iOS
自增自減運算符面試題
1.
int num = 5;
int ret = num++ * num;
num = ?; 6
ret = ?; 30
2.
int num = 10;
++(num++);
num = ?; 編譯報錯
(num++)首先執行,但是小括號裏面的內容對外是一個整體,也就是一個常量!!!
自增自減運算符【不能操作常量】
1.2 邏輯運算符
&&
保險櫃的門,顧客一把鑰匙,管理員一把鑰匙,缺一不可
同真爲真,有假【即】假
||
自己家門,任何一個人帶有鑰匙,都可以開門
有真【即】真,同假爲假
!
強牛 犟
取反
邏輯運算符的斷路原則問題
class Demo4 {
public static void main ( String[ ] args) {
int num = 10 ;
boolean ret = 4 < 3 && num++ > 10 ;
System. out. println ( "ret : " + ret) ;
System. out. println ( "num : " + num) ;
int num1 = 20 ;
boolean ret1 = 10 > 5 || ++ num1 < 30 ;
System. out. println ( "ret1 : " + ret1) ;
System. out. println ( "num1 : " + num1) ;
}
}
2. 分支結構
2.1 開發中常見的結構
順序結構
代碼從上之下,從左至右執行!!!
分支結構
條件判斷,條件滿足執行對應代碼
循環結構
在程序中重複執行功能代碼
2.2 if
2.2.1 if分支
if ( ) {
}
class Demo5 {
public static void main ( String[ ] args) {
int money = 10 ;
if ( money > 2000000 ) {
System. out. println ( "Audi A8L W12" ) ;
}
System. out. println ( "白日做夢!!!" ) ;
}
}
2.2.2 if - else分支
if ( ) {
} else {
}
class Demo6 {
public static void main ( String[ ] args) {
int money = 20 ;
if ( money > 50 ) {
System. out. println ( "喫一頓紅燒肉" ) ;
} else {
System. out. println ( "饅頭 + 涪陵榨菜" ) ;
}
}
}
2.2.3 if - else if結構
if ( ) {
} else if ( ) {
} else if ( ) {
} else {
}
class Demo7 {
public static void main ( String[ ] args) {
int score = 59 ;
if ( score >= 90 ) {
System. out. println ( "秀兒" ) ;
} else if ( score >= 80 ) {
System. out. println ( "良兒" ) ;
} else if ( score >= 70 ) {
System. out. println ( "中兒" ) ;
} else if ( score >= 60 ) {
System. out. println ( "過兒" ) ;
} else {
System. out. println ( "叫恁爹穿着拖鞋來學校一趟" ) ;
}
}
}
【補充知識點 從鍵盤上獲取用戶輸入的數據】
1. 點技能點 【導包】
在class之前複製粘貼
import java.util.Scanner;
2. 創建一個Scanner的變量
Scanner sc = new Scanner(System.in);
3. 使用Scanner的方法從鍵盤上獲取數據
獲取int類型數據
int類型變量 = sc.nextInt();
獲取float類型數據
float類型變量 = sc.nextFloat();
獲取char類型數據
char類型變量 = sc.nextLine().charAt(0);
【補充知識點 用戶體驗問題】
在代碼運行過程中需要給予用戶更好的體驗!!!是非常友好的體驗。
【補充知識點 用戶輸入數據合法性判斷】
在實際代碼運行過程中,用戶提供的數據很有可能是非法情況。這是需要在滿足用戶基本需求的情況下,同時滿足代碼的正常運行!!!
增強代碼的健壯性,穩定性
2.3 switch case
switch ( 變量) {
case 常量1 :
處理方式1 ;
break ;
case 常量2 :
處理方式2 ;
break ;
case 常量3 :
處理方式3 ;
break ;
default :
沒有匹配任何case 之後的處理方式
break ;
}
3. 循環結構
3.1 爲什麼是用循環結構
代碼中一定會出現多次使用的代碼塊,而代碼中重複使用 如果僅僅是依賴於CV大法,那麼會導致以下問題出現
1. 代碼冗餘
2. 代碼閱讀性極差
3. 代碼維護性極差【給自己留個活路】
3.2 while循環結構
while ( ) {
}