Questões de Programação - Java para Concurso
Foram encontradas 1.650 questões
abstract class Animal { public abstract double getCotaLeite(); }
class Elefante extends Animal { public double getCotaLeite(){ return 20.0; } }
class Rato extends Animal { public double getCotaLeite() { return 0.5; } }
class Aplicativo { public static void main(String args[]){ Animal animal1 = new Elefante(); System.out.println(“Cota diaria de leite do elefante: “ + animal1. getCotaLeite()); Animal animal2 = new Rato(); System.out.println(“Cota diaria de leite do rato: “ + animal2. getCotaLeite()); } }
Assinale a alternativa que apresenta corretamente dois conceitos importantes para a orientação a objetos desenvolvidos no código acima:
Observe o fragmento de código Java abaixo:
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
System.out.println(x[i,j]);
}
}
Esse código irá imprimir os dados:
I - Java cria três objetos de fluxo que são associados a dispositivos de entrada ou saída sempre que um programa inicia a execução.
II - System.in: objeto de fluxo de entrada padrão, normalmente utilizado pelo programa para obter dados a partir do teclado;
III - System.err: objeto de fluxo de saída padrão, normalmente utilizado pelo programa para enviar resultados.
Estão corretas as afirmações
A linguagem Java traz diversos operadores para manipulação de valores bit a bit ("bitwise"). Analise o seguinte código Java 17:
int x = -1;
int y = x >>> 1;
int z = x >> 1;
Considerando o código analisado, assinale a afirmativa correta.
Sobre construtores em Java, analise as assertivas abaixo.
1) Um construtor é usado para criar objetos.
2) Um construtor deve ter o mesmo nome da classe em que é declarado.
3) Um construtor pode ser declarado como privado.
Estão corretas:
Sobre a linguagem de programação Java, analise as afirmativas a seguir.
1) Todas as classes Java têm um construtor default, mesmo quando é definido um construtor explicitamente.
2) Java não possui herança múltipla, porém uma classe abstrata pode implementar várias Interfaces.
3) Java permite que um array (vetor) possua valores de tipos diferentes, como int e float.
4) A Máquina Virtual Java é responsável por coletar objetos na memória que não são mais referenciados.
Estão corretas, apenas:
Julgue o item, relativo à programação orientada a objetos e à arquitetura MVC (Model-View-Controller).
A palavra-chave this, em Java, é utilizada
especificamente para criar um novo objeto. Por
exemplo, a instrução this.from = from cria um
novo objeto a partir de outro objeto existente.
Julgue o item, relativo à programação orientada a objetos e à arquitetura MVC (Model-View-Controller).
Em Java, a palavra-chave static é a sintaxe usada para
definir variáveis de classe, as quais são armazenadas em
um objeto em si, e não em uma classe.
@Controller public class OlaMundoController {
@RequestMapping("/olaMundoSpring") public String execute() { System.out.println("Executando a lógica com Spring MVC"); return "ok"; } }
Considerando o código acima, analise as afirmativas a seguir:
V. Para integrar-se ao Spring MVC, é obrigatório que a classe tenha o sufixo “Controller” em seu nome e a anotação @Controller acima da definição da classe.
VI. A anotação @RequestMapping acima do método execute() indica a URL utilizada para invocar o método, ou seja, que esse método será chamado pelo Spring MVC quando o caminho /olaMundoSpring for acessado no contexto da aplicação Web à qual o controlador pertence.
VII. O valor de retorno "ok" do método execute() indica ao Spring MVC que, após execução do método, envie o usuário a uma página com nome ok, que se encontra em uma determinada pasta e com um determinado sufixo, ambos especificados em um arquivo de configuração do framework.
VIII.Podem ser criados outros métodos que respondam por outras URLs nessa mesma classe. Para tal, bastaria que fosse utilizada novamente a anotação @RequestMapping nesses métodos.
É CORRETO o que se afirma em
public class TesteContaProtegida { public static void main(String[] args) { Conta conta = new Conta(); conta.saldo = 1_000_000_000; System.out.println(conta.saldo); } } class Conta { /* ___ */ double saldo; void sacar(double qtd) { saldo = saldo - qtd; } void depositar(double qtd) { saldo += qtd; } }
Nesse código, a classe Conta não encapsula o atributo saldo e, portanto, não o protege de alterações diretas, sem o uso de métodos, como, por exemplo, o método main() altera diretamente o saldo da conta sem ter feito nenhum saque ou depósito. A palavra-chave da linguagem que pode ser colocada no lugar da lacuna representada por /* ___ */ no código acima, de modo a causar um erro de compilação nas linhas que tentam acessar conta.saldo diretamente e, portanto, devidamente encapsular esse atributo é
Considere o seguinte código Java, escrito em um arquivo chamado TesteConta.java:
public class TesteConta {
public static void main(String ... args) {
Conta conta = new Conta();
conta.depositar(1000);
conta.sacar(1100);
System.out.println(conta.saldo);
}
}
class Conta {
double saldo;
void sacar(double qtd) {
saldo = saldo - qtd;
}
void depositar(double qtd) {
saldo += qtd;
}
}
O resultado de se compilar e executar o código acima é que o programa
class Main { public static void main(String[] args) {
int numero = 1234, novonumero = 0; for(;numero != 0; numero /= 10) { int digito = numero % 10; novonumero = novonumero * 10 + digito; } system.out.println(novonumero); } }
Assinale a alternativa CORRETA sobre a saída (output) obtida:
Acerca das noções de programação orientada a objetos e das noções da linguagem JAVA, julgue o item.
Em Java, a palavra-chave extends é usada para criar
uma nova instância de uma determinada classe. O
programador pode escolher entre usar extends ou
new, pois ambas têm, especificamente, a mesma
função, ou seja, criar classes não derivadas.
Acerca das noções de programação orientada a objetos e das noções da linguagem JAVA, julgue o item.
Na linguagem de programação Java, a palavra-chave
public pode ser usada para declarar um elemento de
uma classe como parte da interface, como, por exemplo,
um campo. Entretanto, ela não pode ser usada para
declarar um método.