Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
404 views
in Technique[技术] by (71.8m points)

Why does this basic Java boolean expression not work?

Why does this not compute in Java (v1.8). Seems perfectly logical to me....

boolean banana = true;
(banana == true || false) ? System.out.println("True") : System.out.println("False");

Output message: Error: java: not a statement

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The ternary conditional operator must return a value. The second and third operands can't be statements that don't return anything. They must be expressions that return a value.

You could switch it to :

System.out.println(banana ? "True" : "False");

Note that banana == true || false is equivalent to banana == true, which is equivalent to banana as banana itself is a boolean type.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...