Olá estou estudando os fundamentos de java e me deparei com o sequinte exercício:
class Fundamentos1
{
public static void main(String args[])
{
signed int x = 10;
// int x = 10;
for (int y = 0; y<5; y++, x–)
System.out.print("" + x);
}
}
Neste exercício eu devo dizer qual será o resultado. Ok sei que: irá haver um Erro de compilação!. A palavra “[color=red]signed[/color]” não é uma palavra-chave de um modificador válido na linguagem Java. Todos os tipos primitivos de números são sinalizados. Sempre. Agora se o signed for retirado irá compilar e o resultado será:109876. Aqui está minha dúvida não consigo ler, enxergar como chegar neste resultado, alguém pode me explicar?
E pela sua dúvida, aconselho que vc leia um pouco mais sobre as conversões implícitas no java, algo sobre classes Wrapper, assuntos de Boxing e AutoBoxing (novidade no Java 5)…
Nesse exemplo que vc postou… na linha
System.out.print("" + x);
esta ocorrendo uma concatenação entre String ("") e a variavel x, portanto, x (declarado com int) se tornará uma String tb…
E pela sua dúvida, aconselho que vc leia um pouco mais sobre as conversões implícitas no java, algo sobre classes Wrapper, assuntos de Boxing e AutoBoxing (novidade no Java 5)…
Nesse exemplo que vc postou… na linha
System.out.print("" + x);
esta ocorrendo uma concatenação entre String ("") e a variavel x, portanto, x (declarado com int) se tornará uma String tb…
Sacou ?
[/quote]
PadrE! Não tem nada a ver, mesmo que fosse um simples System.out.print(x); o resultado seria o mesmo.
E pela sua dúvida, aconselho que vc leia um pouco mais sobre as conversões implícitas no java, algo sobre classes Wrapper, assuntos de Boxing e AutoBoxing (novidade no Java 5)…
Nesse exemplo que vc postou… na linha
System.out.print("" + x);
esta ocorrendo uma concatenação entre String ("") e a variavel x, portanto, x (declarado com int) se tornará uma String tb…
Sacou ?
[/quote]
Ok obrigado pela dica, mas não acho nada sobre classes Wrapper, assuntos de Boxing e AutoBoxing, mas vou continuar procurando, grande abraço e obrigado pela ajuda.
E pela sua dúvida, aconselho que vc leia um pouco mais sobre as conversões implícitas no java, algo sobre classes Wrapper, assuntos de Boxing e AutoBoxing (novidade no Java 5)…
Nesse exemplo que vc postou… na linha
System.out.print("" + x);
esta ocorrendo uma concatenação entre String ("") e a variavel x, portanto, x (declarado com int) se tornará uma String tb…
Sacou ?
[/quote]
PadrE! Não tem nada a ver, mesmo que fosse um simples System.out.print(x); o resultado seria o mesmo.[/quote]
Concordo, mas e se tivesse a seguinte situação?
System.out.print(""+x+y);
ou
System.out.print(""+(x+y));
ou
Integer x = new Integer(45);
System.out.print(x);
???
Acho q vale a pena estudar um pouco sobre conversões… !!
Nem sempre.
Se vc está pensando que byte, short, int e long são os tipos numéricos e que char não é um tipo de numero então vc tem razão; os tipos primitivos numéricos são sempre sinalizados.
Só que char é tb um tipo numérico e portanto nem todos os tipos numéricos primitivos são sinalizados.
A prova de que char é um tipo numérico é que vc pode fazer
[quote=sergiotaborda][quote=RooseveltDorea]
Neste exercício eu devo dizer qual será o resultado. Ok sei que: irá haver um Erro de compilação!. A palavra “[color=red]signed[/color]” não é uma palavra-chave de um modificador válido na linguagem Java. Todos os tipos primitivos de números são sinalizados. Sempre.
[/quote]
Nem sempre.
Se vc está pensando que byte, short, int e long são os tipos numéricos e que char não é um tipo de numero então vc tem razão; os tipos primitivos numéricos são sempre sinalizados.
Só que char é tb um tipo numérico e portanto nem todos os tipos numéricos primitivos são sinalizados.
A prova de que char é um tipo numérico é que vc pode fazer
[code]
char x = ‘a’;
y = x + 1;
y == ‘b’ // verdadeiro
[/code][/quote]
Olá sergiotaborda,
enviei seu comentário para o keynote em java que escreveu o exercíco, qdo receber a resposta envio para vc. Grato pela ajuda e pela informação.
Em tempo, vc pode explicar como criou os links view plan, copy to clipboard, print e ?, o fato é que achei muito 10. Obrigado e até mais.
[quote=RooseveltDorea]
Em tempo, vc pode explicar como criou os links view plan, copy to clipboard, print e ?, o fato é que achei muito 10. Obrigado e até mais.[/quote]
Vc coloca o codigo que quer dentro dos simbolos e . Existem outros simbolos com o quote que vc vê ali…