A linguagem de programação Java permanece até hoje sendo uma...
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());
}
}
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