SóProvas


ID
2387098
Banca
IADES
Órgão
Fundação Hemocentro de Brasília - DF
Ano
2017
Provas
Disciplina
Programação
Assuntos

Observe o trecho de código abaixo, escrito na linguagem de programação Java.

class Hemocentro {
public static void main(String [] args){
String s = "Java";
s.concat(" SE 7");
s.replace('7','8');
System.out.print(s);
}
}

A execução desse programa produzirá como resultado a seguinte saída:

Alternativas
Comentários
  • A String S não recebeu o novo valor, então continua a mesma.

  • Na verdade funciona assim :

    String s = "Java"; - Cria uma estrtura na HEAP chamada "Java"

    s.concat(" SE 7"); - Cria outra estrutura na HEAP chamada "Java SE 7"

    s.replace('7','8'); - Cria mais uma estrutura na HEAP chamada "Java SE 8"

    E qual a variável está sendo impressa ? s .

    logo imprime "Java"

    Se fosse System.out.print(s.concat), então imprime "Java SE 7";

    Se fosse System.out.print(s.replace), então imprime "Java SE 8";

  • haha, boa.

  • Que peguinha ... 

  • String é uma classe imutável. Toda operação realizada numa instância de String como concat, substring ou replace resulta num NOVO objeto String que deve ser atribuído a uma variável.

    Para operações em uma cadeia de caracteres mutável utilize StringBuffer ou StringBuilder.

  • Não fez nada, manteve o s = java

  • Muito bem Luciano Lima, agradecemos....

  • Alternativa correta: D.

    .

    .

    Acho que pra imprimir "Java SE 8" o código teria que ficar assim:

    s = s.concat(" SE 7");

    s = s.replace('7','8');

    .

    Ou então imprimir direto:

    System.out.println(s.concat(" SE 8");

  • Kkkkkkk, nessa eu não caio mais. Todos os métodos de strings retornam outras strings e não modificam a string original

  • RESOLUÇÃO:

    O Java é claro, o restante é imprimir uma possível concatenação.

    Resposta: D

  • Gabarito: D

    Corrigindo o amigo @fracasso (Luciano Lima Fracasso):

    • String s = "Java"; - Cria uma estrtura na HEAP chamada "Java"
    • s.concat(" SE 7"); - Cria outra estrutura na HEAP chamada "Java SE 7"
    • s.replace('7','8'); - Cria mais uma estrutura na HEAP chamada "Java"

    E qual variável está sendo impressa?! s.

    Logo, imprime "Java".

    String é uma classe imutável. Toda operação realizada numa instância de String como concat, substring ou replace resulta em um novo objeto String que deve ser atribuído a uma variável.

    Todos os métodos de strings retornam outras strings e não modificam a string original.

    Para operações em uma cadeia de caracteres mutável utilize StringBuffer ou StringBuilder.

    • Se fosse System.out.print(s.concat(" SE 7")), imprimiria "Java SE 7"
    • Se fosse System.out.print(s.replace('7','8')), imprimiria "Java"

    Para imprimir "Java SE 8" o código teria que ficar assim:

    • String s = "Java";
    • s = s.concat(" SE 7");
    • s = s.replace('7','8');
    • System.out.print(s);