1
resposta

[Dúvida] Desafio 3?

ESTOU COM DUVIDA EM RELAÇÃO A UM TRECHO EM MEU CODIGO:

 char l = 'L';
        char e = 'e';
        char v = 'v';
        char i = 'i';

        String saudacoes2 = "Seja Bem Vindo usuario: ";

        System.out.println(saudacoes2 + l + e + v + i);
        System.out.println( l + e + v + i + saudacoes2);
        

EM RELAÇÃO A O SEGUNDO PRINT ASSIM QUANDO EU INVERTI O CHAR DEU = 400Seja bem Vindo nao entendi esse 400 o motivo Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Prezado,

A diferença nas saídas do programa Java ocorre devido à forma como a linguagem Java trata a concatenação de caracteres (char) e Strings.

Vamos analisar o código:

Primeira Linha de Saída:

System.out.println(saudacoes2 + l + e + v + i);

Aqui, saudacoes2 é uma string e l, e, v, i são caracteres. Quando você concatena uma string com caracteres, todos são convertidos para uma string. Portanto, a saída é:

Seja Bem Vindo usuario: Levi

Segunda Linha de Saída:

System.out.println(l + e + v + i + saudacoes2);

Neste caso, os caracteres l, e, v, i SÃO SOMADOS ANTES DE SEREM CONCATENADOS com a String saudacoes2. Em Java, os caracteres são tratados como inteiros (baseados na tabela ASCII), então a soma de l, e, v e i resulta em um valor numérico:

  • L (76) + e (101) + v (118) + i (105) = 400

Portanto, a saída é:

400Seja Bem Vindo usuario:

Essa diferença ocorre porque a operação de soma entre caracteres resulta em um valor numérico, enquanto a concatenação de uma String com caracteres resulta em uma String.

**Se sua dúvida estiver respondida, por gentileza, encerre este tópico.

Bons estudos!**