sareem
sareem

Reputation: 429

JAVA Not a statement with ?: if statement

I'm getting an compilation error "Not a statement" for this line of code:

parallel? stats[3]++ : stats[4]++;

can't understand why?!

Upvotes: 2

Views: 1427

Answers (2)

DDMC
DDMC

Reputation: 393

Quoting from this:

The following types of expressions can be made into a statement
by terminating the expression with a semicolon (;).

Assignment expressions
Any use of ++ or --
Method invocations
Object creation expressions

...

In addition to expression statements, there are two other kinds of
statements: declaration statements and control flow statements. 

Obviously, your line of code above doesn't fall into any category mentioned above. Hence, the compiler throw an error. Look at the outermost, not the innermost.

Upvotes: 3

Douglas Figueroa
Douglas Figueroa

Reputation: 715

The :? operator is used to return a value is not a complete replacement for the if/else and you aren't returning a value. But explain better what is the complete error, and give a better look of the code not only the line that you post.

Upvotes: 3

Related Questions