

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Analise o seguinte programa em linguagem Java SE 11:
class A{
int valor = 10;
void mostrar(){
System.out.print(valor + " ");
}
}
class B extends A{
int valor = 20;
void mostrar(){
System.out.print(valor + " ");
}
void imprimir(){
super.mostrar();
mostrar();
}
}
public class Teste{
public static void main(String[] args){
B obj = new B();
obj.imprimir();
}
}
Assinale a alternativa que apresenta a saída produzida pelo programa.
10 10
20 20
10 20
20 10
Erro de compilação
Preencha as lacunas abaixo.
Em Java, os objetos da classe String são considerados __________, o que significa que seu conteúdo não pode ser alterado após a criação. Para situações em que é necessária a manipulação intensiva de sequências de caracteres com alterações frequentes de conteúdo, a classe __________ é mais eficiente por permitir modificações in-place.
A sequência de palavras que preenche corretamente as lacunas é:
dinâmicos / ArrayList
imutáveis / StringBuilder
estáticos / Scanner
constantes / Character
Analise as afirmativas a seguir sobre conceitos importantes em Java e considere V (verdadeira) ou F (falsa):
I.

O modificador private contribui para o encapsulamento ao restringir o acesso direto ao atributo nome.
II.

O método Carro() representa um construtor da classe, sendo executado automaticamente durante a criação do objeto.
III.

O código é válido porque vetores em Java possuem indexação iniciando em 1.
IV.

O laço executará o bloco de código três vezes.
Assinale a alternativa correta:
V – V – F – V
V – F – V – V
F – V – V – F
V – V – V – F
F – F – V – V
Considere o código Java a seguir:
class Conta {
private double saldo;
public Conta(double saldoInicial) {
this.saldo = saldoInicial;
}
public void depositar(double valor) {
saldo += valor;
}
public double getSaldo() {
return saldo;
}
}
class ContaPoupanca extends Conta {
private double taxa;
public ContaPoupanca(double saldoInicial, double taxa) {
super(saldoInicial);
this.taxa = taxa;
}
public void aplicarRendimento() {
double rendimento = getSaldo() * taxa;
depositar(rendimento);
}
}
public class Principal {
public static void main(String[] args) {
ContaPoupanca cp = new ContaPoupanca(1000.0,
0.10);
cp.depositar(500.0);
cp.aplicarRendimento();
System.out.println(cp.getSaldo());
}
}Com base no código apresentado, assinale a alternativa correta.
O código não compila, pois a subclasse ContaPoupanca não pode chamar o método depositar() da superclasse.
O código não compila, pois o atributo saldo é private e, por isso, não pode ser utilizado indiretamente pela subclasse.
O código compila e imprime 1650.0, pois a conta recebe um depósito de 500.0 e, em seguida, aplica rendimento de 10% sobre o saldo atualizado.
O código compila e imprime 1600.0, pois o rendimento é calculado apenas sobre o saldo inicial informado no construtor.
O código compila e imprime 1500.0, pois o método aplicarRendimento() apenas calcula o rendimento, mas não altera o saldo da conta.
A linguagem Java utiliza ponteiros para o gerenciamento de endereços de memória, o que garante mais segurança para o uso do Garbage Collector.
Certo
Errado
A linguagem Java, ao implementar o conceito de nest, permite o acesso a membros private entre nestmates nativamente pela máquina virtual, dispensando o uso de métodos sintéticos.
Certo
Errado
Um programador de sistemas de informação escreveu o seguinte programa em Java 11:
public class Figura {
private double f;
public Figura (double f) {
this.f = f;}
public Figura () { }
public double calcf () {
f = f * 3.1* 2.5;
return f;}
public static void main(String[] args) {
Figura shape = new Figura (10.3);
double g;
g = shape.calcf ();
System.out.println (g); } }
A execução desse programa apresenta um resultado igual a:
70.125
73.225
75.525
77.625
79.825
Considere o código em linguagem Java apresentado a seguir, utilizado em um sistema de apoio ao gerenciamento de atendimentos de saúde.

Fonte: a banca
Ao executar esse código, considerando o conceito de polimorfismo, assinale a alternativa CORRETA.
O polimorfismo não ocorre quando métodos possuem assinaturas diferentes, caracterizando sobrecarga de operadores.
Será exibida a mensagem "Atendimento ambulatorial do SUS", pois em Java, o método sobrescrito é resolvido em tempo de execução com base no tipo real do objeto.
O método executado depende da anotação @Override, sem a qual o polimorfismo não ocorre.
Será exibida a mensagem "Atendimento geral do SUS", pois o tipo da variável determina qual método será executado.
O código não compila, pois não é permitido sobrescrever métodos em classes derivadas.
A classe R.java, quando utilizada no desenvolvimento de aplicativos para o sistema Android, é gerada de forma automática durante a transformação do código-fonte Java em um artefato executável e não deve ser manipulada diretamente pelo programador.
Certo
Errado
Em Java, uma das maneiras de se implementar o polimorfismo é a partir de interfaces que permitem o tratamento de objetos de classes diferentes de forma uniforme.
Certo
Errado

O resultado da execução do código precedente, desenvolvido em Java, será 6.
Certo
Errado
Analise o seguinte código em Java 8 abaixo:

Qual será a saída?
ANA<br>BIA<br>CARLA (em linhas separadas, com <br> indicando a quebra de linha)
ANA BIA CARLA
ana bia carla
O código não compila devido à expressão lambda.
Uma exceção do tipo UnsupportedOperationException.
Durante uma aula de Programação, o professor destaca que, tanto em Java quanto em Python, as Strings são imutáveis. Ele pede aos alunos que expliquem as consequências práticas dessa característica no desenvolvimento de software, considerando operações de concatenação e manipulação de texto. Diante desse contexto, é correto afirmar que
Strings podem ser modificadas in-place, evitando consumo adicional de memória em concatenação.
cada modificação em uma String gera a criação de um novo objeto em memória, o que pode impactar o desempenho em operações intensivas de concatenação.
a imutabilidade das Strings só se aplica a variáveis declaradas como constantes (final em Java ou atribuídas diretamente em Python).
a imutabilidade das Strings garante automaticamente que operações de concatenação são mais rápidas do que com tipos mutáveis.
o comportamento de imutabilidade em Strings depende do compilador ou interpretador utilizado, não sendo garantido pela linguagem.
Considere o seguinte trecho de código em Java.

Considerando os conceitos de orientação a objetos e que o código será compilado e executado em condições ideais, é correto afirmar que
a saída do programa será:
A: teste
B(Integer): 123
a saída do programa será:
B: teste
B(Integer): 123
a saída do programa será:
A: teste
A: 123
o código não compilará devido à tentativa de downcast incompatível entre A e B.
o código lançará uma ClassCastExcept on em tempo de execução, pois o objeto nproc não é originalmente uma instância da classe B.
Sobre a declaração 'import' na linguagem de programação Java, como, por exemplo "import java.util.Scanner;" analise as assertivas abaixo:
I. É uma declaração que auxilia o compilador a localizar as classes utilizadas no programa.
II. Indica que o programa faz uso de uma classe pré-definida do pacote Java.
III. O compilador não garante que o uso da classe será sempre correto e adequado ao contexto, não sendo necessário nenhum teste adicional.
Quais estão corretas?
Apenas I.
Apenas III.
Apenas I e II.
Apenas II e III.
I, II e III.
Em linguagens de programação orientada a objetos como Java, os métodos são blocos de código que definem o comportamento de uma classe. A sobrecarga de método (method overloading) é um recurso que permite a uma classe ter múltiplos métodos com o mesmo nome, desde que suas assinaturas sejam distintas, proporcionando flexibilidade na chamada do método. Sobre a sobrecarga de métodos em Java, analise as afirmativas a seguir:
I.Para que ocorra a sobrecarga, dois ou mais métodos na mesma classe devem ter o mesmo nome, mas obrigatoriamente listas de parâmetros diferentes (em número, tipo ou ordem dos parâmetros).
II.A sobrecarga de métodos não pode ser realizada alterando-se apenas o tipo de retorno do método; o compilador considerará isso um erro se a lista de parâmetros for idêntica.
III.A sobrecarga de métodos é uma forma de polimorfismo de tempo de compilação (estático), pois o compilador decide qual versão do método chamar com base nos argumentos fornecidos na chamada.
Está correto o que se afirma em:
I e III apenas.
I e II apenas.
II e III apenas.
I, II e III.
Considere uma classe "Calculo" que executa a solicita dois valores ao usuário e realiza a soma desses valores, conforme o código em linguagem Java (em qualquer versão) a seguir:
public class Calculo {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.println("Informe o primeiro termo:");
int a = entrada.nextInt();
System.out.println("Informe o segundo termo:");
int b = entrada.nextInt();
int c = calculo(a, b);
System.out.println("O resultado é " + c);
}
private static int calculo (int a, int b) {
return a + b;
}
}
Analise o código apresentado e assinale a alternativa correta.
O método "main" é público e possui um retorno do tipo inteiro para permitir a realização do cálculo.
Os métodos "main" e "calculo" precisam ter o mesmo modificador de acesso para que o programa funcione.
Os parâmetros "a" e "b" do método "calculo" são do tipo inteiro e considerados variáveis locais ao método.
As variáveis "a" e "b" são consideradas atributos da classe “Calculo” e, por isso, são redundantes no método.
O método "calculo" não poderia receber esse nome pois a classe "Calculo" possui o mesmo identificador.
Assinale a opção que apresenta a instrução Java que, quando executada em um while, for ou do ... while, pula as instruções restantes no corpo do loop e prossegue com a próxima iteração do loop.
continue
then
do
next
break
Dado o seguinte programa escrito em Java 1.8, o que acontece após sua execução?

Imprime 30
Imprime 36
Imprime 40
Imprime 46
Apresenta erro de compilação.
Qual alternativa apresenta o resultado da execução do seguinte programa, escrito em Java 1.8?

8
10
12
14
Apresenta erro de compilação.