Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Switch case logical expression statement in Java - versus JS or PHP

in JavaScript and also I've seen it in PHP : You can use a logical expression inside you cases : For Example :

switch(true){
case (d<10):
document.write("Less than 10");
break;
case (d==10):
document.write("Equal to 10");
break;
case (d>10):
document.write("Greater than 10");
break;
default:
document.write("Some dumb error. Probably not a number.");
}

I was wondering if we can do this in Java ... say I needed a to compare a very large range.

case 1 :
case 2 :
...
case 5000:
case 5001:
default:

It would be tedious to do. I could wrap my cases inside if statements but i was wondering it could be done like in JavaScript or PHP.

like image 570
hayonj Avatar asked Feb 11 '26 23:02

hayonj


2 Answers

It is nice to have, but you cannot. Quoting JLS:

The body of a switch statement is known as a switch block.

Any statement immediately contained by the switch block may be labeled with one or more switch labels, which are case or default labels.

These labels are said to be associated with the switch statement, as are the values of the constant expressions (§15.28) or enum constants (§8.9.1) in the case labels.

These labels have to be constant expressions or enum constants.

like image 183
zw324 Avatar answered Feb 14 '26 12:02

zw324


No You cannot do that using switch in java. You have to use if-else to accomplish this.

See this link for more details.

like image 27
NullPointerException Avatar answered Feb 14 '26 13:02

NullPointerException



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!