if(條件表示式結果一定是boolean值)else case後一定是常量
常量:不可改變的變數就成為常量,常量又有字面常量和自定義常量
字面常量:所使用的所有的數字、字母、符號、漢字
使用注意事項:
在每乙個case之後都需要使用break,否則會發生break穿透。
default不是必須的,如果有default,default在末尾時,可不加break;在其他位置時,必須加上break;
switch支援的表示式的型別:byte、short、int、char、string、列舉
for
for
(①初始化部分; ②迴圈條件部分; ④迭代部分){
③迴圈體部分;
}
注意:初始化部分的變數定義作用範圍僅限於整個迴圈體內
while
①初始化部分
while
(②迴圈條件部分){
③迴圈體部分;
④迭代部分;
}
do……while①初始化部分;
dowhile
(②迴圈條件部分)
;
for 迴圈和while 區別
1 .從迴圈變數的生命週期 for僅限於其整個迴圈 while範圍更大
2.for用於能夠明確知道迴圈界限的迴圈 while用於迴圈界限奴明確的
通常情況兩者可以進行轉換
1、案例描述
一道面試題,題目是這樣的:請對以下的**進行優化
for
(int i =
0; i <
1000
; i++
)for
(int j =
0; j <
100; j++
)for
(int k =
0; k <
10; k++
)
testfunction (i, j, k)
;
2、案例分析
從上述**案例可以看出,不論如何優化,testfunction()執行的次數都是相同的,該部分是不存在優化的可能。那麼優化只能從迴圈變數i,j,k的例項化、初始化、比較、自增等耗時方面來進行分析。首先,分析原題**迴圈變數在以上方面的耗時情況:
變數 例項化(次數) 初始化(次數) 比較(次數) 自增(次數)
i 1 1 1000 1000
j 1000 1000 1000100 1000100
k 1000100 1000100 100010010 100010010
目的:該**效能優化就是要盡可能地減少迴圈變數i、j、k的例項化、初始化、比較、自增的次數,同時不引起其他可能的耗時運算。
3、解決過程
優化方案①:
for
(int i =
0; i <
10; i++
)for
(int j =
0; j <
100; j++
)for
(int k =
0; k <
1000
; k++
)
testfunction (k, j, i)
;
變數 例項化(次數) 初始化(次數) 比較(次數) 自增(次數)
i 1 1 1010
j 10 1010100 10100
k 10100 10100 101001000 101001000
優化方案②:
int i, j, k;
for(i =
0; i <
10; i++
)for
(j =
0; j <
100; j++
)for
(k =
0; k <
1000
; k++
)
testfunction (k, j, i)
;
該方案主要是在方案①的基礎上,將迴圈變數的例項化放在迴圈外,這樣可以進一步減少例項化次數,耗時情況如下表:
變數 例項化(次數) 初始化(次數) 比較(次數) 自增(次數)
i 1 1 1010
j 1 1010100 10100
k 1 10100 101001000 10100*1000
public
class
breaktest
system.out.
println
("game over!");
}}
public
class
continuetest
}}
day 04 流程控制
定義 最簡單的if判斷 if 條件 塊1 塊2 塊3 a 5b 4 if a b print 正確 print 恭喜你做對了 if.else連用 if 條件 塊1 塊2 塊3 else 塊1 塊2 塊3 a 141b 4414 if a b print 正確,恭喜你做對了 else print 錯誤...
JAVA學習筆記day04 程式流程控制
switch.case提供多路分支,用於選擇的資料型別可以可以是整數 char 列舉型別。switch 表示式 1.void show int x,char y,double z 沒有過載 與原函式一樣 2.int show int a,double c,char b 過載了 引數列表不同 3.vo...
04 流程控制
1.為什麼要有if判斷?1.1判斷事物的對錯,真假,是否可行,想讓計算機像人一樣去工作,那麼計算機也應該有對事物的對錯,真假,是否可行的判 斷能力,從而做出不同的響應。2.固定語法 python用同一縮排的 表示 塊 補充 布林值false的值為 0,none,空 空列表 字典 集合 字串 2.1布...