Como imprimir um código com switch e if else

Pesso ALL!! podem me dar umas dicas para esse cálculo de IMC?
O programa só está rodando o defalt! Já tentei mudar as posições dos if e já tentei usar && e || mas
as outros casos não imprimi. O que tá errado???

import java.util.Scanner;
import static java.lang.System.*;

public class Calculo_ImC {

public static void main(String[] args){
	// TODO Auto-generated method stub

	float peso;
	float IMC;
	float altura;
	int imc = 0;
	
System.out.println("Digite seu peso:"); 
Scanner input = new Scanner(System.in);
 peso = input.nextFloat();


System.out.println("Digite sua altura:"); 
Scanner inPut = new Scanner(System.in);
 altura = inPut.nextFloat();


 IMC = (peso / (altura * altura));
 
 
 
	switch (imc) {// O programa só tá rodando na opção default!!! Verificar as outras opções
	
		case 1:
		  
			System.out.printf("O seu IMC é: %2.2f %n Abaixo do Peso", IMC);
		
			break;
		   
		case 2:		
			
			System.out.printf("O seu IMC é: %2.2f %n Peso Normal", IMC); 
				
			break;
		  
		case 3:
		 					
			 System.out.printf("O seu IMC é: %2.2f %n Acima do Peso", IMC);
			 
				break;	
		
			default:
				System.out.printf("O seu IMC é: %2.2f %n Você está Obeso!!!", IMC);
				break;
	}
	
	if (IMC <= 18.55) {
			
	}else if (IMC > 18.55 && IMC <= 24.99) {  
				
	}else if (IMC >= 25 || IMC <= 29.99) {
		
	}else if(IMC >= 30) {
							
							
	}
}

}

Esta variável é inicializada a 0 e nunca é alterada (não sei sequer para que será necessária)
O que tu pretendes provavelmente é colocar os prints dentro dos ifs e retirar o switch

Então… fui fazendo alguns teste e se tiver o operador switch precisa ter uma variavel inicializada senão
o programa retorna erro.
Tentei rodar o programa só com else if anteriormente e colocar os prints neles e só rodou duas instruções, as outras duas restantes não rodavam, então pensei se colocasse o switch rodaria perfeito,
mas só roda a instrução do default!

Sua dica estava certa, não precisa do switch!
O programa rodou certinho todas as instruções!
Obrigada!!
:blush:

Você colocou && e || desnecessários nessa lógica.

Simplifica dessa forma:

if (imc >= 30) { 
    // obeso
} else if (imc >= 25) {
    // acima do peso
} else if (imc >= 18.55) {
    // normal
} else {
    // abaixo do peso
}