A linguagem de programação Java permanece até hoje sendo uma...

Próximas questões
Com base no mesmo assunto
Q1760409 Programação

A linguagem de programação Java permanece até hoje sendo uma das linguagens mais utilizadas no desenvolvimento de aplicações web. A respeito dessa importante linguagem, considere o código abaixo e marque a alternativa que indica o que ocorrerá após sua execução. 


import java.util.*;

import java.lang.*;

import java.io.*;   


class teste

{

  public static void main (String[] args) throws java.lang.Exception

  {

    String valor = "PROGRAMACAO";

    System.out.println(valor.endsWith("ao")+valor.substring(1, 5).trim());

  }

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: Letra C - Será exibido em tela o valor falseROGR.

A questão aborda conceitos importantes da linguagem de programação Java, mais especificamente os métodos de manipulação de strings. Para resolver essa questão, o candidato precisa compreender o funcionamento dos métodos endsWith() e substring(), bem como a indexação de caracteres em uma string.

O método endsWith(String suffix) é utilizado para verificar se a string termina com o sufixo especificado como argumento. No caso do código apresentado, o método valor.endsWith("ao") está verificando se a string contida na variável valor, que é "PROGRAMACAO", termina com "ao". A resposta é false, pois "PROGRAMACAO" termina com "ACAO".

Em seguida, o método substring(int beginIndex, int endIndex) é chamado, e ele retorna uma nova string que é uma subcadeia da string original. Esta subcadeia começa com o caractere no índice especificado por beginIndex e se estende até o caractere no índice endIndex - 1. Portanto, valor.substring(1, 5) retorna a subcadena começando no índice 1 até o índice 4 da string "PROGRAMACAO", que é "ROGR".

O método trim() é utilizado para remover espaços em branco do início e do fim de uma string. No entanto, a subcadeia "ROGR" não contém espaços em branco no início ou no fim, então o método trim() não altera a subcadeia resultante.

O código System.out.println() irá imprimir o resultado da concatenação do valor retornado por endsWith() e o resultado do substring().trim(). Como o método endsWith() retorna false e o método substring().trim() retorna "ROGR", a saída exibida será falseROGR.

Assim, a alternativa correta é a letra C, pois o código exibe em tela o valor "falseROGR".

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Java é sensitive case e a String começa com o indice 0

Será exibido em tela o valor falseROGR

Complementando... Essa questão, implicitamente, também trata da tipagem forte/fraca.

Veja que ele está concatenando um boolean a uma String. Isso dá erro em linguagens fortemente tipadas, como Python, Go, R, etc. Mas como Java é fracamente tipada, faz-se o cast automático transformando tudo em String

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo