Day04 流程控制

2021-09-29 12:09:20 字數 2532 閱讀 7803

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布...