Prévia do material em texto
UNIVERSIDADE PAULISTA
ICET - INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
DP04 289S TOP ESP PROGR ORIENT OBJETOS
Nome R.A
Silvano Matos de Oliveira N306JF6
SÃO JOSÉ DOS CAMPOS – SP
ABRIL/2020
1) Qual o conceito de máquina virtual em Java?
Resposta: B ) É uma camada extra responsável por “traduzir” o que a aplicação deseja fazer as chamadas do sistema operacional onde a aplicação está rodando no momento.
Justificativa: é um interpretador de código-fonte que ajuda o sistema operacional entender o que o programador deseja. São uma camada extra responsável por “inserir” o código-fonte no sistema operacional.
2) Por que a linguagem de programação Java é chamada de multiplataforma?
Resposta: A) Java trabalha com o conceito de máquina virtual, que é uma camada extra responsável por “traduzir” o que a aplicação deseja fazer as chamadas do sistema operacional onde a aplicação está rodando no momento. Com este conceito, tanto faz você trabalhar no Windows ou Linux.
Justificativa: O Java utiliza um conceito diferente. Ao invés de gerar um binário diferente para cada plataforma, é gerado um binário que pode ser executado em qualquer plataforma, dentro de uma máquina virtual.
3). Em linguagens baseadas na sintaxe do C, como o Java, recomenda-se o camel case para se definir nomes no código. O que é o camel case e por que ele é usado?
Resposta: D) É uma recomendação de estilo que sugere que os nomes sejam mnemônicos. Se for usada mais de uma palavra, elas devem ser escritas sem usar um espaço, iniciando cada palavra com uma letra maiúscula.
Justificativa: é necessário utilizar uma maneira simples de identificar o que está sendo declarado. O CamelCase te ajuda a fazer essa identificação e também, a manter o seu código mais legível.
4) Quais são as diferenças entre os tipos int e Integer?
Resposta: B) enquanto int é um tipo primitivo, Integer é a classe invólucro associada a ele, a qual fornece diversos métodos para fazer conversão de tipos.
Justificativa: O tipo int é um primitivo que representa apenas o valor. O tipo Integer é uma classe wrapper, é alocado no heap e você pode chamar métodos nele.
5) considere o código abaixo:
Assinale a alternativa correta:
Resporta: B) O código faz conversões de tipo explícitas com perda de precisão.
Justificativa: A) O código faz conversões de tipo explícitas sem perda de precisão. Falso. O código faz conversões de tipo explícitas (com cast) porém existe sim perda de precisão.
B ) O código faz conversões de tipo explícitas com perda de precisão. Verdadeiro.
C ) O código apresenta erros, pois faz a atribuição de valores de um determinado tipo a variáveis de tipos diferentes. Falso. É totalmente possível atribuir valores de um tipo para outro. Em alguns casos o cast é implícito. No caso aqui, todos os casts são explícitos e tem problema nenhum.
D) O código apresenta erros, pois deveria fazer a conversão de tipos por meio de classes invólucro. Falso. Não é necessárias classes invólucro para esses tipos de conversão.
E) O código apresenta erros pois o método atribuicoesComCast() tem tipo void, o que impede que ele faça as atribuições de valores corretamente. Falso. O fato do método ser do tipo void não afeta como os valores serão manipulados dentro do método.
6) A principal utilização do tratamento de exceções em um programa é para:
Resposta: B) detectar erros e tratá-los;
Justificativa: O tratamento de exceção ajuda a aprimorar a tolerância a falhas de um programa.
7) Finally{}, sempre será executado depois do bloco try/catch, exceto:
Resposta: D) Em casos de encerramento da jvm.
Justificativa: JVM cria uma instância de um objeto da classe Exception ou de uma de suas subclasses o que é chamado de lançamento de exceção e encerra a execução da aplicação caso essa exceção não seja tratada o que é chamado de captura de exceção.
8) Não é uma combinação válida para o uso do try{}, catch{} e finally{}.
Resposta: C) cath{} e finally{}
Justificativa: Não é combinação valida porque, finally sempre será executado depois do bloco try/catch.
9) Quando se desenvolve um aplicativo no Android Studio, como é possível testar e depurar a sua execução?
Resposta: A ) É possível executar uma máquina virtual Android emulada ou virtualizada (dependendo das capacidades do computador) ou em um dispositivo Android real.
Justificativa: Uma máquina virtual é um software de ambiente computacional em que um sistema operacional ou programa pode ser instalado e executado por uma camada de virtualização que traduz essas solicitações para o hardware presente na máquina como rodar um dispositivo Android em uma máquina virtual.
10) Com relação ao código abaixo a alternativa incorreta é:
throw new Exception("Ocorreu uma excecao ");
try {
//bloco de código 1
} catch (umaExcecao e1) {
//bloco de código 2
} catch (outraExcecao e2) {
//bloco de código 3
} catch (maisUmaExcecao e3) {
//bloco de código 4
}
finally {
//bloco de código 5
}
Resposta: B) O bloco de código 5 será executado dependendo do que ocorra no try.
Justificativa: o bloco try{} tenta executar o código e validá-lo o finally{} que sempre será executado, se houver o "disparo" de uma exceção.
11) Tradicionalmente, as interfaces gráficas em Java são feitas com o auxílio de duas bibliotecas, o SWING e o AWT. Quais são as diferenças entre elas?
Resposta: A) A biblioteca AWT inclui alguns componentes que são dependentes do ambiente gráfico da plataforma de execução enquanto a biblioteca SWING é totalmente independente da plataforma de execução.
Justificativa: Basicamente, a diferença é que AWT usa os widgets da API do próprio sistema operacional para criar os componentes gráficos. Dessa forma, a sua GUI pode ter comportamentos diferentes em ambientes distintos. Já o Swing “desenha” quase todos os seus widgets, acabando com o problema da portabilidade. Além de ser mais atual e ter sido implementado com MVC.
12) Qual das alternativas abaixo registra uma consequência do uso de um editor de interfaces gráficas?
Resposta: C) O código gerado automaticamente pelo editor de interfaces gráficas não deve ser editado manualmente, pois isso pode fazer com que o editor pare de funcionar. Se isto ocorrer, o programador deve continuar a editar o código manualmente.
Justificativa: sem um construtor de GUI, deve ser construída manualmente especificando todos os parâmetros através de código, sem resposta visual até que o programa seja executado.
13) Quais são os requisitos mínimos indispensáveis para se programar para Android?
Resposta: E) Java SE SDK e Android SDK.
Justificativa: Android SDK inclui projetos de exemplo com código-fonte, ferramentas de desenvolvimento, emuladores e bibliotecas necessárias para criar os aplicativos Android.
14) O que ocorre quando mudamos a orientação do dispositivo móvel (entre retrato e paisagem) enquanto o aplicativo está sendo executado?
Resposta: C) O estado do aplicativo é gravado pelo método onSaveInstance() e é recarregado pelo método onCreate(), o qual refaz o leiaute com as informações armazenadas do aplicativo.
Justificativa: Ao mudar a orientação da tela, a Activity se destrói (e se recria), bem como a View. Ele chama o OnPause(), OnDestroy() e o OnCreate().
15) Qual é o papel assumido pela classe Java associada a uma activity e qual é a conseguência disso?
Resposta: B) Esta classe assume o papel de fronteira e por isso deve tratar apenas da troca de dados com o usuário, deixando a realização das regras de negócio a cargo das classes de controle
Justificativa: classe herda todas as características das Activitys, caso contrário, ela seria apenas uma classe qualquer do Java.
16) Se um aplicativo Android for compilado usando um SDK versão KitKat (API 19) com nível mínimo de API 16 (Jelly Bean), qual das alternativas abaixo lista corretamente quais serão os dispositivos compatíveiscom este aplicativo?
Resposta: D) A partir de JellyBean (API 16) em diante.
Justificativa: A melhor versão pois Jelly Bean (API 16) foi uma atualização incremental com o objetivo principal de melhorar a funcionalidade e desempenho da interface do usuário.
17) Por que é recomendado o uso de gerenciadores de leiaute se projetar uma interface gráfica de uma activity Android?
Resposta: E) Para garantir a responsividade da interface gráfica, ou seja, que ela seja adaptável a qualquer resolução e orientação de tela.
Justificativa: É importante garantir uma boa experiência ao usuário em qualquer aparelho escolhido, para não ter o perigo de ultrapassa o tamanho da tela.
18) O que não podemos considerar como um motivo para ocorrer uma exceção:
A) falhas de hardware
B) exaustão de recursos
C) erros
D) acesso não autorizado a recursos
E) n.d.a.
Resposta: E) n.d.a.
Justificativa: As exceções ocorrem quando algo imprevisto acontece, elas podem ser provenientes de erros de lógica ou acesso a recursos que talvez não estejam disponíveis.