Hola. Segun entiendo el suitch case es mejor a la vista y es mas facil de entender que si usaramos una cadena de if-else, la pregunata es: este codigo si bien hace lo mismo que la cadena else-if, queria mas entendible?, me tomé el atrevimiento de convertirlo.
package EJEMPLO_DE;
public class TestDescuento {
public static void main(String[] args) {
double valorCompra = 300.1;
double valorDescuento = 0;
switch (true) {
case valorCompra < 100.0:
System.out.println("La compra no tiene descuento, el valor a pagar es " + valorCompra);
break;
case valorCompra >= 100.0 && valorCompra < 200.0:
valorDescuento = valorCompra - (valorCompra * 0.1);
System.out.println("El valor a pagar es " + valorDescuento);
break;
case valorCompra >= 200.0 && valorCompra <= 300.0:
valorDescuento = valorCompra - (valorCompra * 0.15);
System.out.println("El valor a pagar es " + valorDescuento);
break;
case valorCompra > 300.0:
valorDescuento = valorCompra - (valorCompra * 0.2);
System.out.println("El valor a pagar es " + valorDescuento);
break;
}
}
}