Como usar o Switch?

Alguem pode me ajudar sou novato em java, como faço para usar concluir este codigo usando o switch? pois estou passando um portugol para a linguagem java.

Como o switch não aceita double e int não aceita ou colocar o double.parse, eu não sei como resolver este problema.

import javax.swing.JOptionPane;
/*

  • CalculaI’nss.java
  • Created on 4 de Março de 2008, 21:23
  • To change this template, choose Tools | Template Manager
  • and open the template in the editor.
    */

/**
*

  • @author moisesf
    */
    public class CalculaInss {

    /** Creates a new instance of CalculaInss */
    public CalculaInss() {
    }

    public static void main(String[] args) {

    int salario = 0;
    int a = Integer.ParseInt(salario);

          a = double.parseDouble(" Qual Salario? " + salario);
          
          switch (salario){
              case salario <= 500.00:
                  salario =  salario  * 0.95;
              JOptionPane.showMessageDialog(" o salario é " + salario);
              break;
              case  salario > 500.00 && salario <= 1200.00:
                  salario = salario * 0.95;
              JOptionPane.showMessageDialog(" o salario é " + salario);
              break;
              case salario > 1200.00 && salario <= 1800.00:
                  salario = salario * 0.91;
              JOptionPane.showMessageDialog(" o salario é " + salario);    
              default:
                  salario = salario * 0.90;
                  JOptionPane.showMessageDialog(" o salario é " + salario);
          }
    

}
}

use if, else if …

case é para valores fixos :wink:

é use if e else, pois o argumento do switch só aceita valores que possam ser convertidos implicitamente em inteiros int, ou seja, aceita byte, short, char e também aceita enums a partir de java 5.

Switch só aceita literais, variaveis final ou enums a partir de java 5

Valeu, como estáva no livro de logica para usar o case, eu pensei que teria como usar o switch, então vou tentar fazer com if, para concluir o exercio.

Outra pergunta: O que seria literais, variaveis final ou enums ?

obrigado!!!

Variável final: Constante

public final int VALOR_CONSTANTE = 10;

Literal:
Creio que tenha se referido a um tipo inteiro, que pode ser byte, short, char ou int ( não sei como se comporta com um long )

Enum:
São um tipo diferente de classe:

public enum Teste
{
VALOR1,
VALOR2,
VALOR3
}

daí você usa os valores do ENUM se forma similar a uma constante…

Valeu carnevalli!!! com tempo vou pegar todo este esquema, não posso me desesperar se não vou desistir logo, valeu a todos pela ajuda!!! o primeiro exemplo conclui com if!!!

O esquema é abstrair cara, vai estudando por tópicos… Uma coisa de cada vez, estuda variáveis, métodos, modificadores de acesso e assim sucessivamente…
abraços