[OCAJP]條件三元運算子(?:)3

Given:

And given the commands:

javac Test.Java
java Test Hello

What is the result?

A.

Success

B.

Failure

C. Compilation fails.
D. An exception is thrown at runtime

題解

題目執行的指令會編譯「Test.java」,由於Test類別有用public修飾,因此預設會執行Test類別的main方法,並把「Hello」作為main的參數。參數的索引值從0開始。

「args[0].equals("Hello") ? false : true」中的「args[0].equals("Hello")」會判斷args[0]所參考到的字串物件是否在邏輯上和「Hello」字串物件相同,由於第一個(索引值0)參數輸入「Hello」,因此這個的結果會是true。再來這個結果會代入三元條件的運算元中,所以會變成「true ? false : true」,將回傳false。最後程式輸出「Failure」。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章