Given:



What is the result?

A.

Hello Java! 8
Hello Java! 6
Hello Java! 4

B.

Hello Java! 8
Hello Java! 6

C.

Hello Java! 8

D. Compilation fails

題解

這題程式的邏輯還蠻混亂的,真正在寫程式的時候不會寫出這種爛code。首先這邊要知道,類別變數bVar在沒有指定其初始值的狀況下,預設會是false,所以根據第14行的while條件,可以知道當bVar1為false的時候,條件式就不成立了,迴圈也不會繼續執行。

再來看count這個變數,count在do-while迴圈內並沒有做任何的更動,因此第14行的while條件中的count大於4是永遠成立的。

第11行的if在迴圈第一次執行的時候就會成立,因此會將bVar1設成false,迴圈只執行一次就結束了。最後「Hello Java! 8」只輸出了一次。