Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
386 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 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...