I want to use a switch statement to check a range of numbers I have found a few places saying something like
case 1...5
or case (score >= 120) && (score <=125)
would work but I just somehow keep on getting errors.
What I want is if the number is between 1600-1699 then do something.
I can do if statements but figured it's time to start using switch if possible.
If you really want to use switch statements—here is a way to create pseudo-ranges with
enum
s, so you can switch over the enums.First, we'll need to create the ranges:
And then your switch:
You can use ternary operator,
? :
On the JVM level
switch
statement is fundamentally different from if statements.Switch is about compile time constants that have to be all specified at compile time, so that javac compiler produces efficient bytecode.
In Java
switch
statement does not support ranges. You have to specify all the values (you might take advantage of falling through the cases) anddefault
case. Anything else has to be handled byif
statements.As far as I know, ranges aren't possible for switch cases in Java. You can do something like
But at that point, you might as well stick with the if statement.