Que tal essa? Não é muito difícil

Qual é a saída?

public class T4 {
    public static void main(String[] args) {
        int i = 1 << 1;
        
        switch (++i) {
            case (int) 3.0:
                System.out.print("3");   
            case (short) 10:
                System.out.print("10");   
            case '-':
                System.out.print('-');
            case (double) 0: 
                System.out.print(0);
            default: 
                System.out.print("27");                
        }
    }    
}

eu acho q deveria imprimir so 3, mas a como não tem nenhum break vai imprimir 310-027.

é isso? :roll: :roll: :roll:

Raciocínio certo, mas não é isso não…

[quote=“vinci”]Qual é a saída?

[code]
public class T4 {
public static void main(String[] args) {
int i = 1 << 1;

    switch &#40;++i&#41; &#123;
        case &#40;int&#41; 3.0&#58;
            System.out.print&#40;&quot;3&quot;&#41;;   
        case &#40;short&#41; 10&#58;
            System.out.print&#40;&quot;10&quot;&#41;;   
        case '-'&#58;
            System.out.print&#40;'-'&#41;;
        case &#40;double&#41; 0&#58; 
            System.out.print&#40;0&#41;;
        default&#58; 
            System.out.print&#40;&quot;27&quot;&#41;;                
    &#125;
&#125;    

}
[/code][/quote]

Quem já é certificado pode responder ??? (eu gostava de ficar respondendo essas questões…)

nao vai compilar, pq como foi passado um int pra comparacao, pode haver perda de precisao ao se comparar com um double, agora se trocar o “(double)0” por “0”, dai tem o resultado 310-027, como o DiegoDiSouza disse…

:slight_smile: Poder acho que pode, mas o bom é ver se a galera pena … (ou não, se a questão for fácill)

realmente felipe o i é do tipo int, e o 0 ta como double:wink:
nem tinha me tocado quanto a isso…

fala ai vinci esse raciocinio ta correto? :roll:

não compila!
porque o valor da compara deve ser int, short, char, byte !

no primeiro case é um int (compila)
no segundo case é um short (compila)
no terceiro é um é um char(compila)
no quarto case e um double (não compila) mais se mudar o cast pra um dos tipos que citei acima vai compilar e a saida será como ja disseram

Galerinha olho vivo! :okok:

po, mas vcs nem me esperam conectar a noite pra ler os posts novos né! assim não vale! hahaehha :lol: