Baixe o app para aproveitar ainda mais
Prévia do material em texto
LINGUAGEM DE PROGRAMAÇÃO – ATIVIDADE AULA 1 1. No âmbito da linguagem Java, considere: I. Edição é a criação do programa, que também é chamado de código Bytecode. II. Compilação é a geração de um código intermediário chamado fonte, que é um código independente de plataforma. III. Na interpretação, a máquina virtual Java ou JVM analisa e executa cada instrução do código Bytecode. IV. Na linguagem Java a interpretação ocorre apenas uma vez e a compilação ocorre a cada vez que o programa é executado. Está correto o que consta em IV, somente I, II, III e IV III e IV, somente II e IV, somente III, somente 2. Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Programas Java não são traduzidos para a linguagem de máquina, como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada: Dot Net Bytecode classe JavaServePages Servlet 3. Para que possamos desenvolver aplicações básicas em Java basta termos instalado em nosso computador a(s) seguinte(s) tecnologias: (assinale somente uma alternativa) A Java Runtime Environment (JRE), ambiente de execução Java, formado pela JVM e bibliotecas,e do Java SE (Standard Edition) - JDK. Somente o Java Runtime Enviroment-JRE. Somente a Java Virutal Machine-JVM. Somente o Java Standard Edition. O JDK e o Java Standard Edition. 4. Para programar em Java, não é necessário ter programado antes. Porém, ficaria mais fácil se tiver conhecimento em linguagem de programação, porque Java é totalmente estruturada em objetos. Para começar a programar será necessário fazer o download: JRE NetBeans JSP Eclipse JDK 5. É muito importante para trabalharmos com a programação java, que saibamos como o mesmo funciona, quais suas partes e a relação entre elas. Em relação ao funcionamento podemos afirmar que o mesmo acontece na seguinte ordem: Editor gera o .java, Compilador gera o .class, Carregador gera o bytecodes, Verificador gera o código binário e por fim o Interpretador interpreta o binário. Editor gera o .class, Compilador gera o .Java, Carregador gera o código binário, Verificador verifica o binário e por fim o Interpretador interpreta o binário. Editor gera o .java, Compilador gera o .class, Carregador gera o bytecodes, Verificador verifica o bytecodes e por fim o Interpretador interpreta os bytecodes. Editor gera o .class, Compilador gera o .Java, Carregador gera o bytecodes, Verificador verifica o bytecodes e por fim o Interpretador interpreta os bytecodes. Editor gera o .java, Compilador gera o .class, Carregador gera o código binário, Verificador verifica o binário e por fim o Interpretador interpreta o binário. 6. Seja o arquivo MeuPrograma.java, um arquivo escrito no bloco de notas, contendo código fonte em java. Marque a única alternativa CORRETA, para a descrição do processo de compilação e execução do programa. Com o comando java MeuPrograma.java compila-se o arquivo e produz-se o arquivo MeuPrograma.class. Em seguida com o comando javac MeuPrograma o bytecode é executado. Com o comando javac MeuPrograma.java compila-se o arquivo e produz-se o arquivo MeuPrograma.class. Em seguida com o comando java MeuPrograma.class o bytecode é executado. Com o comando javac MeuPrograma compila-se o arquivo e produz-se o arquivo MeuPrograma.class. Em seguida com o comando java MeuPrograma.java o bytecode é executado. Com o comando java MeuPrograma.javac compila-se o arquivo e produz-se o arquivo MeuPrograma.class. Em seguida com o comando java MeuPrograma.java o bytecode é executado. Com o comando javac MeuPrograma.java compila-se o arquivo e produz-se o arquivo MeuPrograma.class. Em seguida com o comando java MeuPrograma o bytecode é executado. AULA 2 1. Seja o código a seguir: public class DemoVetor{ public static void main(String[] args) { int[] vet={10,20,34,56,60}; int i; for(i=0; i < vet.length;i++) { System.out.println("vet["+i+"]=" + vet[i]); } System.out.print("i="+i); } } Marque a alternativa que apresenta o valor da variável i, ao final do programa. i=1; i=2; i=3; i=5; i=4; 2. (FUMARC/2011) Analise o seguinte programa desenvolvido na linguagem Java. public class testeLogica { public static void main(String[] args) { boolean A, B; boolean R1, R2, R3, R4; A = true; B = false; R1 = (A || B && A || !B); R2 = (!(A || !B) && (A || B)); R3 = (A && B) && (!A || !B); R4 = (!A || B || A || !B); System.out.println(R1); System.out.println(R2); System.out.println(R3); System.out.println(R4); } Qual é a sequência CORRETA? (de cima para baixo) true, false, true, false true, false, false, true false, true, false, true false, false, false, true true, true, true, false 3. Considere os seguintes fragmentos de código Java: I. int sum = 7; if ( sum > 20 ) { System.out.print("ganhou "); } else { System.out.print("perdeu "); } System.out.println("o bônus."); II. int sum = 21; if ( sum != 20 ) System.out.print("ganhou"); else System.out.print("perdeu "); System.out.println("o bônus."); O resultado da execução dos fragmentos em I e II será, respectivamente, perdeu o bônus e ganhou o bônus ganhou e ganhou perdeu o bônus e ganhou perdeu e ganhou o bônus perdeu e perdeu 4. Considere os seguintes fragmentos de código Java: I. int sum = 7; if ( sum > 20 ) { System.out.print("ganhou "); } else { System.out.print("perdeu "); } System.out.println("o bônus."); II. int sum = 21; if ( sum != 20 ) System.out.print("ganhou"); else System.out.print("perdeu "); System.out.println("o bônus."); O resultado da execução dos fragmentos em I e II será, respectivamente, perdeu e perdeu. ganhou e ganhou. perdeu o bônus e ganhou o bônus. perdeu e ganhou o bônus. perdeu o bônus e ganhou. 5. Marque a alternativa que define uma matriz de números inteiros com 4 linhas e 5 colunas: int [][] matriz = new int [5][5]; int matriz [4][5]; int [][] matriz = new int [5,4]; int [][] matriz = new int [4,5]; int [][] matriz = new int [4][5]; 6. Depois de declarada, uma variável na linguagem Java pode ter um valor atribuído a ela com o operador de atribuição: = : <= :: := AULA 3 1. As interfaces gráficas com o usuário (GUI - Graphical User Interface) são construídas a partir de componentes GUI, que são objetos com o qual o usuário interage através dos dispositivos de entrada, ou seja, o mouse, o teclado, etc. Em Java, as classes necessárias para criação de componentes gráficos, bem como para fornecer-lhes funcionalidade, estão agrupadas em dois grandes pacotes: java.awt e java.lang java.awt e javax.swing java.util e java.lang java.lang e javax.swing javax.swing e java.util 2. Analise as afirmativas e marque a alternativa correta: i-Os componentes Java puros oferecem um maior nível de portabilidade e flexibilidade e são do pacote AWT. ii-Os componentes Swing fornecem funcionalidade e aparência uniforme em todas as plataforma, sendo denominada de aparência de metal. iii-Os componentes AWT fornecem funcionalidade e aparência uniforme em todas as plataforma,sendo denominada de aparência de metal. Apenas a alternativa iii está correta. Apenas a alternativa i está correta. Todas as alternativas estão corretas. Apenas a alternativa ii está correta. Todas as alternativas estão erradas. 3. A criação de interfaces gráficas Swing consiste basicamente em instanciar objetos. Componentes gráficos, tais como campo texto e botões, são elementos que o usuário manipula com o mouse ou com o teclado. Das afirmativas abaixo, indique aquela que NÃO REPRESENTA uma característica do componente JComboBox Cada objeto inserido no JComboBox é representado visualmente pela String retornada pelo método toString(). Pertence ao pacote javax.swing Um objeto da classe JComboBox é um campo texto na forma de várias linhas nas quais textos podem ser digitados pelo usuário através do teclado. Para instanciar um componente utilizamos a sintaxe JComboBox combo = new JComboBox(); É um componente visual que possibilita a manipulação de coleções de objetos permitindo ao usuário selecionar apenas um objeto da coleção 4. Para construirmos uma interface gráfica em JAVA, adicionamos componentes sobre a área da janela. Por essa razão, a área da janela é um container, ou seja, um elemento capaz de armazenar uma lista de componentes. Existem uma infinidade de funcionalidades disponíveis nas bibliotecas de classes Java, destinadas a prover a comunicação homem-máquina gráfica. São características de um JPanel, EXCETO: São áreas que comportam outros componentes, inclusive outros painéis A classe JPanel não tem painel de conteúdo como JFrames, assim, os elementos devem ser diretamente adicionados ao objeto painel São criados com a classe JPanel, que é derivada da classe Container O JPanel, assim como o JFrame são derivados do pacote java.util.awt São elementos que fazem a intermediação entre um container e os demais GUI anexados. 5. Para criar janelas gráficas no Java é preciso utilizar uma das bibliotecas gráficas disponíveis. Os objetos gráficos no Java são criados como objetos normais a partir das classes definidas na biblioteca gráfica Swing. Para criar um elemento gráfico "caixa de texto" devemos instanciar: JFrameText texto = new Text() JComboText combo = new "Caixa de Texto" JTextField caixa = new JTextField() JBox caixa = "Caixa de Texto" JLabel("caixa de texto") 6. A interface gráfica com o usuário (GUI - Graphical User Interface) fornece a um programa um conjunto consistente de componentes intuitivos, familiarizando o usuário com as diversas funções e diminuindo o tempo de aprendizado da nova ferramenta. São características do componente Swing, EXCETO: Possui portabilidade, em relação ao componente AWT Conhecidos como componentes Java puros Os nomes recebem um "J" no seu início: JLabel, JButton, JFrame, JPanel, etc São extensões do pacote java.util.swing A maioria de seus componentes é escrita, manipulada e exibida completamente em Java AULA 4 1. Qual sintaxe expressa a criação correta de uma classe em java? class public Exemplo {} public class Exemplo {} Public Exemplo {} public class Exemplo() {} class Exemplo() {} 2. Para declarar uma constante chamada SIZE do tipo inteiro e com valor 10 no Java, podemos utilizar a construção: void final int SIZE = 10 static extend integer SIZE = 10 this final int SIZE :=10 static final int SIZE = 10 this extend integer SIZE := 10 3. Assinale a alternativa que completa corretamente a lacuna da afirmação a seguir: "Uma casa está para uma planta arquitetônica assim como um(a) __________ está para uma classe." parâmetro variável objeto método atributo 4. Um estagiário está desenvolvendo, a luz do paradigma da orientação a objetos, parte de um programa responsável por gerenciar a folha de pagamento de uma instituição financeira do Rio de Janeiro. Devido a sua pouca experiência com Java, durante a codificação surgiram algumas dúvidas quanto a conceitos básicos deste paradigma. É incorreto afirmar que em Java: Objetos de software são conceitualmente similares a objetos do mundo real: eles consistem do estado e o comportamento relacionado. Objetos são instâncias da classe. A classe provê a estrutura para a construção de objetos. Atributos: determinam o estado do objeto Um objeto não armazena seu estado em campos (variáveis) e expõe seu comportamento através de métodos (funções). 5. Analise o projeto abaixo composto pela classe Pessoa e a classe de teste, e indique a alternativa que indica o que está errado, verificando a classe Pessoa e na sequência a classe TestaPessoa. public class Pessoa{ String nome; int idade; String telefone; public void exibirDados(){ System.out.println("Nome:"+nome); System.out.println("Idade:" + idade+ " anos"); System.out.println("Telefone:"+ telefone); } } public class TestaPessoa{ public static void main (String [] args){ exibirDados(); } } não há erros nos códigos acima. o erro está no método exibirDados() da classe Pessoa, ele não pode ser void. faltou criar o objeto na classe Pessoa. faltou o método main na classe Pessoa. faltou criar o objeto Pessoa na classe TestaPessoa, para depois poder chamar seu método através da variável de referência indicada. Exemplo: Pessoa p = new Pessoa(); e a linha exibirDados() seria substituída pela linha p.exibirDados(). 6. Dada a instrução: Pessoa p = new Pessoa(), assinale a alternativa que represente melhor o que acontece quando esta instrução é interpretada. está sendo criada uma variável primitiva chamada p que está sendo associada a um novo objeto. está sendo criada uma variável de referência chamada p do tipo Pessoa, que está sendo associada a um objeto do tipo Pessoa que está sendo criado e instanciado para a memória heap da JVM. está sendo criada uma variável de referência chamada Pessoa, que está sendo associada a um objeto do tipo Pessoa. está sendo criada uma variável de referência chamada Pessoa, que está sendo associada a uma nova variável primitiva. está sendo criada uma variável primitiva chamada Pessoa que está sendo associada a um novo objeto. AULA 5 1. Marque a alternativa que representa a palavra reservada que indica a execução do construtor de superclasses em uma generalização: super extends new generation implements 2. A palavra reservada EXTENDS implementa qual o conceito? Herança Associação Polimorfismo Visibilidade Portabilidade 3. Analise o código Java abaixo, sabendo-se que as classes encontram-se no mesmo pacote, assinale a alternativa correta: class A { private int atrA; } class B extends A { protected int atrB; } class C extends B, A{ private int atrC; } A classe B herda as características de A, mas não tem acesso direto ao atributo de A A classe B possui atributo protegido, sendo assim, qualquer classe que herde não pode acessar diretamente o atributo A classe C, por herdar as características das classes A e B, pode acessar diretamente os atributos de A e B A classe C está herdando as características das classes B e A, assumindo a característica de polimorfismo A classe B herda as características de A e pode acessar diretamente o atributo de A 4. (PRODEB 2008) Dado a estrutura da linguagem Java para acesso a arquivos, assinale a alternativa correta. A classe abstrata Reader definemétodos para entrada de dados baseada em bytes. A classe abstrata InputStream define métodos para entrada de dados baseada em bytes. A classe abstrata OutputStream define métodos para entrada de dados baseada em bytes. A classe abstrata File define métodos para entrada de dados baseada em bytes. A classe abstrata Writer define métodos para entrada de dados baseada em bytes. 5. Classes abstratas tem uma função importante na orientação a objeto em Java. De forma objetiva, uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos). Observe o fragmento de código: public abstract class Animal { public int peso; public abstract void locomover(); } Ao analisar o código, podemos afirmar, exceto: Métodos abstratos não possui corpo. O propósito de uma classe abstrata é fornecer uma superclasse apropriada da qual as outras classes (subclasses) podem herdar atributos e métodos, ou seja, ela fornece uma interface apropriada para as subclasses da sua hierarquia. Nenhum objeto pode ser instanciado para uma classe abstrata. Todos os métodos são implicitamente públicos e abstratos. Para uma classe ser abstrata, ela precisa ter pelo menos um método abstrato. 6. Segundo o site TIExpert, Interface é um recurso da orientação a objeto utilizado em Java que define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente. Com base nessa definição, marque a opção incorreta: Precisa ter pelo menos um método abstrato. Todos os métodos são implicitamente públicos e abstratos. Especifica operações sem implementá-las Não pode ser instanciada Permite herança múltipla AULA 6 1. Analisando o código abaixo, assinale a alternativa que indique a explicação correta do funcionamento dos métodos setEstado(boolean estado) e getEstado(): public class Lampada { private boolean estado; //ligado ou não public Lampada(){ this.estado = false; } public void setEstado(boolean estado){ this.estado = estado; } public boolean getEstado(){ return this.estado; } } O método getEstado está definindo um valor para o estado da lâmpada ; o método setEstado está retornando o estado atual da lâmpada. O método setEstado está definindo um valor para o estado da lâmpada ; o método getEstado está retornando o estado atual da lâmpada . O método setEstado para definir um valor para o atributo estado deveria ser do tipo boolean, como o método getEstado. O método getEstado para definir um valor para o atributo estado deveria ser do tipo void, como o método setEstado. Os dois métodos estão errados, pois não estão atualizando o atributo estado da classe. 2. Como se declara um método estático em Java? public static void exemploMetodo() {} public void static exemploMetodo() {} static exemploMetodo() {} static void public exemploMetodo() {} public void exemploMetodo() {} 3. Em Java pode-se utilizar diferentes tipos de modificadores de acesso para seus atributos e métodos, dependendo da necessidade da aplicação que está sendo desenvolvida. É correto afirmar sobre os modificadores de acesso usados na declaração de atributos: O modificador de acesso final permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visível pela própria classe ou suas subclasses, e o modificador de acesso private permite que só a classe manipule seus atributos. O modificador de acesso public permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso protected torna o atributo vísivel pela própria classe ou suas subclasses, e o modificador de acesso private permite que só a classe manipule seus atributos. O modificador de acesso private permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visível pela própria classe ou suas subclasses, e o modificador de acesso protected permite que só a classe manipule seus atributos. O modificador de acesso protected permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visível pela própria classe ou suas subclasses, e o modificador de acesso final permite que só a classe manipule seus atributos. O modificador de acesso protected permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visível pela própria classe ou suas subclasses, e o modificador de acesso private permite que só a classe manipule seus atributos. 4. Analise o código abaixo: public class Notebook { private String marca; private String modelo; public Notebook(String marca, String modelo) { this.marca=marca; this.modelo=modelo; } } Podemos afirmar sobre esta classe: o método construtor não está implementado os atributos estão públicos a classe Notebook possui dois atributos encapsulados e privados e apenas o método construtor possui o método main - principal possui 5 atributos públicos 5. (ENADE/2011) A programação orientada a objeto não é apenas uma forma de programar, é também um jeito de pensar em um problema utilizando conceitos do mundo real e, não somente conceitos computacionais. Considerando os conceitos da programação orientada a objetos, analise as afirmações abaixo: I. O objeto tem determinadas propriedades que o caracterizam e que são armazenadas no próprio objeto. As propriedades de um objeto são chamadas de instâncias. II. As mensagens são informações enviadas ao objeto para que ele se comporte de uma determinada maneira. Um programa orientado a objetos em execução consiste em envios, interpretações e respostas às mensagens. São os métodos, os procedimentos residentes nos objetos, que determinam como eles irão atuar ao receber as mensagens. III. A herança é um mecanismo para o compartilhamento de métodos e atributos entre classes e subclasses, permitindo a criação de novas classes através da programação das diferenças entre a nova classe e a classe-pai. IV. O encapsulamento é um mecanismo que permite o acesso aos dados de um objeto somente através dos métodos desse. Nenhuma outra parte do programa pode operar sobre os dados do objeto. A comunicação entre os objetos é feita apenas através de troca de mensagens. É correto apenas o que afirma em: I e II III e IV II, III e IV I, II e IV I e III 6. Na Programação Orientada a Objetos podem-se definir as visibilidades dos métodos e atributos. Quanto a essa característica é correto afirmar que: o acesso aos atributos e aos métodos privados só pode ser feito a partir dos métodos membros da classe os métodos protegidos podem ser acessados a partir dos métodos de qualquer classe, desde que instanciada na mesma aplicação os métodos privados e os atributos protegidos podem ser acessados a partir dos métodos de qualquer classe os métodos públicos e os atributos protegidos só podem ser acessados a partir dos métodos da própria classe ou de classes derivadas o acesso aos atributos privados e aos métodos públicos só pode ser feito a partir dos métodos membros da classe AULA 7 1. Os componentes gráficos mais comuns estão frequentemente prontos e presentes no pacote Swing. Para montar as telas que são específicas de um projeto, é necessário compor alguns componentes mais básicos, como JFrames, JPanels, JButtons, etc. Criar um componente do Swing é bastante simples, o comando para criar um botão é: JButton botao = new JButton("sair"); JButtonbotao = new JFrame("sair"); JFrame.botao = new.JButton("sair"); JButton.botao = new JButton("sair"); JFrame botao = new JButton("sair"); 2. Considere uma classe ContaBancária e suas duas subclasses ContaCorrente e ContaPoupança, cada uma das três com o método AplicarJuros. A redefinição do método AplicarJuros nas duas subclasses, cada uma com detalhes de implementação diferentes com a mesma interface, caracteriza o princípio denominado na orientação a objetos como: Herança Sobrecarga Polimorfismo Abstração Encapsulamento 3. class B extends A { int m1() { return a + b + c + d + e; } } public class A { static int a; public int b; int c; protected int d; private int e; } A classe B acima encontra-se no mesmo pacote que a classe A. O método m1 apresenta erro de compilação porque a seguinte variável não pode ser acessada diretamente: e b a d c 4. O componente do pacote javax.swing que permite ao usuário inserir dados, e também pode ser utilizado para exibir texto editável ou não editável é o: JTextField JTextBox JComboBox JLabelText JListBox 5. Dentro do paradigma de programação orientada a objetos (POO), há um mecanismo pelo qual uma classe pode estender outra classe, aproveitando seus métodos e atributos. Assinale a alternativa que apresenta o nome desse mecanismo. polimorfismo. mensagem. herança. subclasse. encapsulamento. 6. Uma classe ClasseA de determinada aplicação possuía um método calculeAlgo() em que testes (instruções de desvio condicional) eram utilizados para se determinar que algoritmo deveria ser adotado para efetuar o cálculo. Foi criada uma nova hierarquia de classes, iniciando na classe abstrata ClasseB, que declara o método abstrato calcule(). Este método é implementado por cada classe concreta da hierarquia, sendo cada uma delas correspondente a um dos algoritmos previstos no método calculeAlgo() original. ClasseA passou a ter um atributo do tipo ClasseB e métodos de acesso ao mesmo, e calculeAlgo() teve seu código substituído por uma simples chamada ao método calcule() do objeto armazenado no novo atributo. O conceito OO (Orientação a Objetos) predominante na descrição acima é a(o): sobrecarga de atributo polimorfismo sobrecarga de método acesso externo direto a atributo herança múltipla AULA 8 1. Baseando-se no trecho de código abaixo, podemos afirmar que: public class Avaliacao { public static void main(String[] args) { String a = "3"; int saida = 0; try { int i = Integer.parseInt(a); saida = i; } catch (Exception e) { saida = -1; } finally { saida = 10; } System.out.println(saida); } } A saída no console será: "3" Não compilará; A saída no console será: "10" A saída no console será: "-1" A saída no console será: "13" 2. Recentemente contratado por uma empresa desenvolvimento que trabalha somente com a linguagem Java, um programador C++ está se adaptando a nova linguagem. Apesar de possuir vasta experiência com programação orientada a objetos, este ainda sente dificuldades em alguns comandos. Como exemplo, em um programa, é necessária uma tela de confirmação. Qual das opções reproduz corretamente à tela abaixo: JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...",YES_NO_OPTION); JOptionPane.showMessageDialog("Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION); JOptionPane.showConfirmDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION); JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION); JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.QUESTION_MESSAGE); 3. As interfaces ouvintes ou Listeners normalmente contêm muitos métodos para tratar eventos. Nem sempre se deseja utilizar todos os método de uma interface. Marque a alternativa que apresenta uma solução para evitar declarações ociosas de método: classes compostas classes adaptadoras classes ouvintes exclusivas interfaces estáticas classes estáticas 4. Assinale a alternativa que completa corretamente as lacunas da afirmação a seguir: "Um diálogo de entrada capaz de receber entrada do usuário é exibido com o método __________ da classe _________ ." showInputBox/JOptionBox showInputDialog/JOptionPane. showMessage/JOption showMessageBox/JOptionBox showMessageDialog/JOptionPane 5. Ações como fechar janela ou controlar entrada de texto necessitam de tratamento de eventos. Por este motivo as interfaces gráficas criadas em Java necessitam de tratamento para suas funcionalidades. Analise as seguintes afirmativas: I- Em uma interface gráfica as acões que podem ser realizadas pelo usuário precisam ser mapeadas como eventos. II- Os eventos, no Java, são objetos e provêm de classes, possuindo métodos e atributos. III- Cada tipo de componente gráfico suporta um determinado conjunto de eventos. IV- Os eventos são categorizados por recurso (teclado e mouse) e por componente (janela, lista, combo, campo de texto etc). Marque a alternativa CORRETA: Apenas a alternativa I. Apenas as afirmativas II, III e IV. Apenas as afirmativas I e IV. Todas as afirmativas são corretas. Apenas as afirmativas I, II e III. 6. Supondo uma aplicação que utiliza um botão (JButton) com tratamento de eventos implementado dentro da própria classe, sempre que este for pressionado, irá percorrer a sua lista interna de listeners, chamando para cada um, o método actionPerformed; Qual o nome do evento gerado pelo botão quando pressionado. ActionListener ActionEvent ActionPerformed addActionListener getActionCommand AULA 9 1. Pode-se dizer sobre exceções que: Marque a alternativa correta. são as principais classes de exceções Java: NullPointerException, offExcecpion e onException throws é o comando responsável pela implementação de uma exceção é obrigatório utilizar o comando finally em todos tratamentos de exceção a estrutura de uma exceção é o bloco catch, que resume-se em tentar executar o código, bloco try, que fará todo o tratamento em caso de algum erro o tratamento de exceção deve ser feito em todos os casos em que haja probabilidade de ocorrer um erro. 2. O tratamento de exceção é o mecanismo responsável pelo tratamento da ocorrência de condições que alteram o fluxo normal da execução dos programas. Nas exceções utilizamos algumas palavras reservadas para este tratamento. Qual dos conceitos a seguir se refere a cláusula throws? o controle passará para o primeiro catch que tenha um parâmetro compatível com a exceção lançada especifica as exceções que o método pode lançar e informa as demais partes do programa detecção e o tratamento de erros que podem ocorrer durante a execução de um loop permite a detecção e tratamento de bugs que podem ocorrer durante a execução do programa, agregando o try/catch dentro do bloco de exceção ela será lançada, os demais comandos do bloco serão suspensos 3. Quando em um método, uma determinada situação de exceção é gerada e não é tratada no corpo do método, essa exceção é arremessada para ser tratada pelo invocador. Para indicar o processamento do mecanismo descrito, usa-se a cláusula, abaixo indicada, na assinatura do método: raising throwable throw raise throws 4. O tratamento de exceções na linguagem Java é caracterizado pelo encapsulamento das informações de um erroem um objeto que representa uma classe específica de erro. O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java. Sobre o tratamento de exceções em Java, assinale a afirmativa INCORRETA. As exceções em Java são fixas e não é possível definir novas exceções. A cláusula try sempre é executada. Uma exceção é sempre um objeto do tipo Throwable A cláusula catch nem sempre é executada. A cláusula finally é sempre executada mesmo quando existente em um bloco try/catch. 5. Assinale a alternativa que completa corretamente a lacuna da afirmação a seguir: "No modelo de terminação de tratamento de exceção, depois de uma exceção ser tratada o programa não retorna ao ponto de lançamento porque o __________ expirou." método main bloco cacth método getMessage bloco try bolco finally 6. Uma exceção é um objeto gerado para indicar a ocorrência de algum tipo de condição excepcional durante a execução de um método qualquer. Apenas objetos de classes pertencentes à hierarquia de classes de exceção do Java poderão ser gerados, propagados e capturados. A subclasse que indica uma tentativa de converter para o formato numérico uma String cujo conteúdo não seja compatível com o formato escolhido é: NumberFormatException IOException NullPointerException IndexOutOfBoundsException ArithmeticExceptiocn AULA 10 1. Considere a seguinte definição: public class Produto { private int codigo; private double preco; public Produto(int codigo, double preco) { this.codigo=codigo; this.preco=preco; } public Produto() { this.codigo=codigo; this.preco=0d; } public void atualizaPreco (float wperc) { this.preco = (wpreco * (1+wperc)) * 1.10; } } Marque a alternativa que define o método polimórfico utilizado na classe: Overloading new implements Overriding extends 2. Por qual motivo é utilizado o bloco try...catch. Tratar e recuperar erros. Fazer depuração de códigos. Polimorfismo. Auditar código. Realizar tentativas de execução. 3. De acordo com a afirmação abaixo (Fonte: adaptado IBM): "permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam, assim, um mesmo método pode apresentar várias formas, de acordo com seu contexto." interface agregação polimorfismo herança classe abstrata 4. Eventos representam uma ação que ocorreu num componente GUI. Dentre os mais comuns no Swing, qual das opções abaixo NÃO é um evento de ação? Ativar um RadioButton Ativar e desativar JCheckbox Digitar um texto Clicar em menus Cliques em botões 5. Analise o seguinte trecho de código. Qual o resultado de tentar compilá-lo e executá-lo? class Avaliacao { public static void main(String[] args) { System.out.println("Inicio do main!!"); try { System.out.println("Inicio do try!"); int[] array = new int[3]; for (int i = 0; i < 4; ++i) { array[i] = i; System.out.println(i); } System.out.println("Fim do try!"); } catch (Exception e) { System.out.println("Exceçao: " + e); } System.out.println("Fim do main!"); } } O código compila ocorre uma exceção ArrayIndexOutOfBoundsException, contudo está é tratada e o programa segue ate imprimir: "Fim do main!". O código não compila. O código compila, mas tem sua execução interrompida devido a ocorrência de uma ArrayIndexOutOfBoundsException. O código não compila por causa de um erro no array. O código compila execução sem a existência de Exceções. 6. Analise as seguintes afirmações em relação ao uso de Exceções no Java. I. O tratamento de exceção é o mecanismo responsável pelo tratamento da ocorrência de condições que alteram o fluxo normal da execução de programas de computadores II. Sempre que um método de alguma classe é passível de causar algum erro, então, podemos usar o método de tentativa - o try III. Finally é o trecho de código final. Tem como função básica sempre executar seu bloco de dados mesmo que uma exceção seja lançada. Em relação às sentenças supracitadas, pode-se afirmar que: Apenas a III é verdadeira I e II são verdadeiras II e III são verdadeiras Apenas a I é verdadeira Todas são verdadeiras AV1 1. Para que possamos desenvolver aplicações básicas em Java basta termos instalado em nosso computador a(s) seguinte(s) tecnologias: (assinale somente uma alternativa) Somente o Java Runtime Enviroment-JRE. Somente o Java Standard Edition. O JDK e o Java Standard Edition. A Java Runtime Environment (JRE), ambiente de execução Java, formado pela JVM e bibliotecas,e do Java SE (Standard Edition) - JDK. Somente a Java Virutal Machine-JVM. 2. Para programar em Java, não é necessário ter programado antes. Porém, ficaria mais fácil se tiver conhecimento em linguagem de programação, porque Java é totalmente estruturada em objetos. Para começar a programar será necessário fazer o download: NetBeans Eclipse JRE JDK JSP 3. Depois de declarada, uma variável na linguagem Java pode ter um valor atribuído a ela com o operador de atribuição: <= := : :: = 4. Seja o código a seguir: public class DemoVetor{ public static void main(String[] args) { int[] vet={10,20,34,56,60}; int i; for(i=0; i < vet.length;i++) { System.out.println("vet["+i+"]=" + vet[i]); } System.out.print("i="+i); } } Marque a alternativa que apresenta o valor da variável i, ao final do programa. i=2; i=5; i=1; i=3; i=4; 5. Analise as afirmativas e marque a alternativa correta: i -A interface gráfica com o usuário (GUI) fornece a um programa um conjunto consistente de componentes intuitivos. ii-A utilização de GUI diminui o tempo de aprendizado de uma nova ferramenta. iii-As GUI são construídas a partir de objetos com o qual o usuário interage através dos dispositivos de entrada. Apenas a alternativa iii está correta. Todas as alternativas estão corretas. Apenas a alternativa ii está correta. Todas as alternativas estão erradas. Apenas a alternativa i está correta. 6. Analise as afirmativas e marque a alternativa correta: I - Os componentes Java puros oferecem um maior nível de portabilidade e flexibilidade e são do pacote AWT. Ii - Os componentes Swing fornecem funcionalidade e aparência uniforme em todas as plataforma, sendo denominada de aparência de metal. Iii - Os componentes AWT fornecem funcionalidade e aparência uniforme em todas as plataforma, sendo denominada de aparência de metal. Todas as alternativas estão erradas. Apenas a alternativa i está correta. Apenas a alternativa ii está correta. Todas as alternativas estão corretas. Apenas a alternativa iii está correta. 7. Qual sintaxe expressa a criação correta de uma classe em java? public class Exemplo() {} public class Exemplo {} class public Exemplo {} class Exemplo() {} Public Class Exemplo {} 8. Seja a classe: public class Moto { public boolean estadoMotor; public void ligaMotor() {estadoMotor=true;} public void desligaMotor( ) {estadoMotor=false;} } Marque a alternativa que apresenta a forma correta de se criar uma instânciadesta classe: Moto m=new Moto(); Moto m.new Moto; Moto m.new Moto( ); Moto m.new( ); Moto m=new( ).Moto; 9. (ENADE/2011) O paradigma de programação orientado a objetos tem sido largamente utilizado no desenvolvimento de sistemas. Considerando o conceito de herança, avalie as afirmações abaixo. I. Herança é uma propriedade que facilita a implementação de reuso. II. Quando uma subclasse é criada, essa herda todas as características da superclasse, não podendo possuir propriedades e métodos próprios. III. Herança múltipla é uma propriedade na qual uma superclasse possui diversas subclasses. IV. Extensão é uma das formas de se implementar herança. É correto apenas o que se afirma em: I e IV I II e IV III II e III 10. (ENADE/2008) Uma pizzaria fez uma ampliação de suas instalações e o gerente aproveitou para melhorar o sistema informatizado, que era limitado e não atendia a todas as funções necessárias. O gerente, então, contratou uma empresa para ampliar o software. No desenvolvimento do novo sistema, a empresa aproveitou partes do sistema antigo e estendeu os componentes de maneira a usar código validado, acrescentando as novas funções solicitadas. Que conceito de orientação a objetos está descrito na situação hipotética acima? Polimorfismo Herança Sobreposição Abstração Sobrecarga AV2 1. Uma das razões pela portabilidade da tecnologia Java é a utilização da JVM (Java Virtual Machine). É correto dizer em relação a JVM: A JVM faz com que o código fonte e compilado seja para uma plataforma e sistema operacional específicos. Ela é usada para compilar um código Java. A JVM representa uma camada extra entre o sistema operacional e a aplicação, responsável por "traduzir" (entre outras funções) o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional no qual ela está rodando no momento, ou seja, sua aplicação roda sem nenhum envolvimento com o sistema operacional. A JVM gera um código executável para cada sistema operacional. Você precisa reescrever parte da sua aplicação toda vez que quiser mudar de sistema operacional. 2. Seja um programa em java com o seguinte código: public class PrimeiroPrograma { public static void main (String args[]) { System.out.println("Bem vindo ao Mundo Java"); } } Marque a única alternativa CORRETA: O arquivo pode ser salvo com qualquer nome desde que tenha a extensão .java, indicando que é um código fonte em java. O arquivo deve ser salvo como ProgramaPrincipal.java, pois este possui o método main (String arg []) que é o método principal do java. O arquivo pode ser salvo como primeiroprograma.java, pois o java não faz diferença entre letras maiúscula e minúscula. O arquivo deve ser salvo como PrimeiroPrograma.java, pois o java faz diferença entre letras maiúscula e minúscula. O arquivo pode ser salvo com qualquer nome, pois o compilador entenderá que é um programa em java. 3. Em Java encontra-se várias formas de implementarmos uma estrutura de dados. Uma delas é a criação de matrizes unidimensionais (vetores) e multidimensionais. É correto afirmar sobre esta estrutura de dados: é usada somente para agrupar dados de tipos primitivos, como int e double. não é permitido o uso deste tipo de estrutura em Java, somente na Linguagem C. é usada para armazenar dados de tipos primitivos e também para armazenar objetos. é usada somente para agrupar objetos. é usada somente para armazenar tipos primitivos. 4. A alternativa que representa todos os tipos de dados primitivos em Java é byte, short, int, long, float, double, String e Date char, boolean, byte, short, int, long, float, double e String char, boolean, byte, short, int, long, float, double, String e Date char, boolean, byte, short, int, long, float e double short, boolean, int, long, float, double e String 5. O método setDefaultCloseOperation()pode ser executado com algumas constantes como argumento, marque a alternativa em que a constante usada destrói a janela. DESTROI_ON_CLOSE DISPOSE_ON_CLOSE DO_NOTHING_ON_CLOSE HIDE_ON_CLOSE EXIT_ON_CLOSE 6. A interface gráfica com o usuário (GUI - Graphical User Interface) fornece a um programa um conjunto consistente de componentes intuitivos, familiarizando o usuário com as diversas funções e diminuindo o tempo de aprendizado da nova ferramenta. São características do componente Swing, EXCETO: São extensões do pacote java.util.swing Possui portabilidade, em relação ao componente AWT Conhecidos como componentes Java puros A maioria de seus componentes é escrita, manipulada e exibida completamente em Java Os nomes recebem um "J" no seu início: JLabel, JButton, JFrame, JPanel, etc 7. Quando desenvolvemos uma classe em Java podemos definir um atributo de diferentes formas, como usar modificadores de visibilidade e também definí-lo como estático, usando o termo static. Definir um atributo como static significa: É a forma mais próxima de se definir um atributo local em Java. É um atributo do objeto e não da classe. É acessado pelo objeto e não pela classe. O valor deste atributo é o mesmo para todas as instâncias da classe (ele é compartilhado). O dado atribuído a este atributo fica guardado no objeto, e não na classe. 8. A orientação a objetos é uma forma abstrata de pensar um problema utilizando-se conceitos do mundo real e não, apenas, conceitos computacionais. Nessa perspectiva, a adoção do paradigma orientado a objetos implica necessariamente que: os objetos sejam implementados de maneira eficiente e simples a computação seja acionada por troca de mensagens entre objetos os programadores de aplicações sejam mais especializados os sistemas sejam encapsulados por outros sistemas os usuários utilizem as aplicações de forma mais simples 9. Marque a alternativa que representa a palavra reservada que indica a execução do construtor de superclasses em uma generalização: generation extends new super implements 10. Herança é a forma de reutilização de software na qual uma nova classe é criada, absorvendo membros de uma classe existente e aprimorada com capacidades novas ou modificadas. Portanto uma subclasse é mais específica que sua super classe, então pode-se dizer que: que a superclasse sempre adiciona novas caracteristicas em vistas as caracteristicas apresentadas pela sua subcla que a superclasse representa um grupo mais especializado de objetos. que a subclasse nunca adiciona seus prórios campos e métodos. que a subclasse representa um grupo mais especializado de objetos. que a subclasse possuirá caracteristicas mais restritas que as de sua superclasse. AV3 1. Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Programas Java não são traduzidos para a linguagem de máquina, como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada: Dot Net Servlet classe Bytecode JavaServePages 2. No âmbito da linguagem Java, considere: I. Edição é a criação do programa, que também é chamado de código Bytecode. II. Compilação é a geração de um código intermediário chamado fonte, que é um código independente de plataforma. III. Na interpretação, a máquina virtual Java ou JVM analisa e executa cada instrução do código Bytecode. IV. Na linguagem Java a interpretação ocorre apenas uma vez e a compilação ocorre a cada vez que oprograma é executado. Está correto o que consta em IV, somente III e IV, somente I, II, III e IV II e IV, somente III, somente 3. Considerando o código a seguir: public static void main(String[] args) { int i = 15; while(true){ if(i%3==0){ System.out.print(i + " "); } i--; if(i==0){ break; } } } A saída da execução desse trecho de código terá como primeiro número da sequência e último respectivamente: 12 e 3 15 e 2 15 e 3 12 e 2 14 e 2 4. Em JAVA, os operadores lógicos 'E', 'OU' e 'NÃO' são representados respectivamente por: &&, ||, ! .and., .or., .not &, #, $ and, or, not *, +, ~ 5. Para criar janelas gráficas no Java é preciso utilizar uma das bibliotecas gráficas disponíveis. Os objetos gráficos no Java são criados como objetos normais a partir das classes definidas na biblioteca gráfica Swing. Para criar um elemento gráfico "caixa de texto" devemos instanciar: JLabel("caixa de texto") JBox caixa = "Caixa de Texto" JFrameText texto = new Text() JTextField caixa = new JTextField() JComboText combo = new "Caixa de Texto" 6. Para construirmos uma interface gráfica em JAVA, adicionamos componentes sobre a área da janela. Por essa razão, a área da janela é um container, ou seja, um elemento capaz de armazenar uma lista de componentes. Existem uma infinidade de funcionalidades disponíveis nas bibliotecas de classes Java, destinadas a prover a comunicação homem-máquina gráfica. São características de um JPanel, EXCETO: São elementos que fazem a intermediação entre um container e os demais GUI anexados. São criados com a classe JPanel, que é derivada da classe Container O JPanel, assim como o JFrame são derivados do pacote java.util.awt São áreas que comportam outros componentes, inclusive outros painéis A classe JPanel não tem painel de conteúdo como JFrames, assim, os elementos devem ser diretamente adicionados ao objeto painel 7. Assinale a opção que não faz parte do conceito de orientação a objetos. atributo método procedimento classe herança 8. Na programação orientada a objetos uma classe _______________. representa um conjunto de objetos com características comuns tem o mesmo significado que objeto representa a instância de um objeto refere-se a um objeto devidamente classificado refere-se a um objeto devidamente catalogado 9. Segundo o site TIExpert, Interface é um recurso da orientação a objeto utilizado em Java que define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente. Com base nessa definição, marque a opção incorreta: Não pode ser instanciada Permite herança múltipla Especifica operações sem implementá-las Precisa ter pelo menos um método abstrato. Todos os métodos são implicitamente públicos e abstratos. 10. (ENADE/2008) Uma pizzaria fez uma ampliação de suas instalações e o gerente aproveitou para melhorar o sistema informatizado, que era limitado e não atendia a todas as funções necessárias. O gerente, então, contratou uma empresa para ampliar o software. No desenvolvimento do novo sistema, a empresa aproveitou partes do sistema antigo e estendeu os componentes de maneira a usar código validado, acrescentando as novas funções solicitadas. Que conceito de orientação a objetos está descrito na situação hipotética acima? Abstração Sobrecarga Sobreposição Herança Polimorfismo
Compartilhar