Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. A tecnologia Java é, basicamente, dividida em: JSE, JDE e JME JSE, JEE e JME JSE, JDE e JPE JSE, JEE e JPE JSE, JEEP e JME 2. Analise as seguintes sentenças: I) A plataforma Java Enterprise Edition define um padrão para desenvolvimento de aplicações empresariais em múltiplas camadas, incluindo a plataforma Web. II) O Java Standard Edition aproveita as vantagens gerais da linguagem Java, mas roda somente no ambiente windows. III) O Java Runtime Environment possui tudo que é necessário para desenvolver programas em Java. Das sentenças acima, apenas: I e II são verdadeiras I é verdadeira III é verdadeira I e III são verdadeiras II é verdadeira 3. O ambiente Java faz uso de seu interpretador que traduz, em tempo de execução, o bytecode para instruções nativas do processador, permitindo, dessa forma, que uma mesma aplicação seja executada em qualquer plataforma computacional que possua essa implementação. Trata-se de: Java Virtual Machine Java Enterprise Garbage Colector Java Development Kit JavaSwing Explicação: Java é uma linguagem compilada que ao executar esse processo gera um bytecode que é executado na Java Virtual Machine dando assim portabilidade de plataformas a linguagem. 4. Ao desenvolver um sistema utilizando a Linguagem de Programação Java é possível utilizar o processo de compilação por meio do executável javac. Ao final desse processo será gerado o ByteCode Java, o qual possuirá a extensão: .jvm .class .war .java .jar 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 código binário, Verificador verifica o 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 .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 bytecodes, Verificador gera o código 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. Gabarito Coment. 6. Qual sintaxe expressa a criação correta de uma classe em java? Public Exemplo {} public class Exemplo {} class Exemplo() {} public class Exemplo() {} class public Exemplo {} 7. (ENADE/2011) Eclipse, Netbeans, Jdeveloper são exemplos de ambientes integrados de desenvolvimento, chamados de IDE, que têm por objetivo facilitar o desenvolvimento de softwares, provendo maior produtividade e gerenciamento de projetos. A especificação JavaBeans foi criada para ser um padrão de desenvolvimento de componentes que possam ser facilmente usados por outros desenvolvedores em diferentes IDE. Com relação ao tema, analise as asserções a seguir: Seja para o Netbeans ou para o Eclipse, é possível adquirir componentes de terceiros que facilitem a implementação do seu projeto PORQUE como o código desses componentes está em linguagem intermediária, ou seja, independente da arquitetura de um computador real, só é necessário que a máquina virtual esteja instalada no computador onde o aplicativo será executado e a máquina virtual será a responsável pela interpretação do código para a linguagem de máquina do computador em execução. Acerca dessas asserções, assinale a alternativa correta. A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira Tanto a primeira quanto a segunda asserções são proposições falsas As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira 8. 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 Standard Edition. Somente o Java Runtime Enviroment-JRE. Somente a Java Virutal Machine-JVM. O JDK e o Java Standard Edition. Marque a opção que mostra o que é impresso na tela. public class Descoberta { private int v; public Descoberta(int p) { v= p+1; } public void faz(int p) {v = v + p; } public void exec() { System.out.print(" " + v); } } public static void main(String args[]) { int B[] = {10,15,20,25,30}; Descoberta d = new Descoberta(101); for (int i = 0; i < B.length ; i++) { d.faz(B[i]); d.exec(); } } //fim main } 113 127 148 172 202 Não compila. Por isso, nada é impresso na tela. 112 112 147 173 201 112 112 112 112 112 112 127 147 172 202 2. 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 perdeu o bônus e ganhou o bônus perdeu e ganhou o bônus perdeu o bônus e ganhou ganhou e ganhou 3. Observe o código em Java a seguir, em que se pode verificar a aplicação dos operadores de pré-decremento e pós-decremento. public class Decrementa{ public static void main(String args[]) { int m, n = 44; m = --n; m = n--; System.out.println(m); System.out.println(n); } } Qual será a saída ? 43 e 43 42 e 43 42 e 42 43 e 42 42 e 41 Gabarito Coment. 4. Considere o trecho em Java abaixo. Marque a opção que corretamente exibe o que é impresso na tela. int valor; int v[ ] = {1,3,5,7,9,11}; for (int i = 1; i <= 6; i++){ if (i % 2 == 1) { valor = i/2 + v[i-1];System.out.print(" " + valor); } } 1.5 4.0 6.5 9.0 11.5 14.0 1.5 6.5 13.5 1.0 4.0 6.0 9.0 11.0 14.0 1 6 11 1 4 6 9 11 14 5. Na linguagem Java A estrutura de repetição while requer definição de inicialização, condição e incremento. A estrutura de repetição for requer definição de inicialização, ponderação e desvios. A função Math.round(valor) gera um número aleatório utilizando a semente valor. A função Math.round(valor) retorna o comprimento de uma circunferência de raio valor. A estrutura de repetição for requer definição de inicialização, condição e incremento. 6. Analise o código abaixo e marque a opção correta após a execução do mesmo: public class Prog001{ public static void main(String[] args){ String X="PEDRO"; String Y="pedro"; if(X.equalsIgnoreCase(Y)) System.out.println("Mesma pessoa"); else System.out.println("Pessoa diferente"); }} Pessoa diferente Êrro de sintaxe e de compilação Êrro de sintaxe Mesma pessoa Êrro de compilação 7. Analise o código em Java abaixo e marque a opção correta onde representa o que será exibido após a execução do mesmo: public class Repeticao { public static void main(String arg[]){ int i; char letra = 'a'; for(i=1;i<=5;i++){ System.out.print(" "+letra); letra++; } } } letra letra letra letra letra letra letra letra letra a b c d a b c d e f a b c d e 8. Analise o código Java a seguir: import java.lang.*; import java.io.*; class XX { public static void main(String[] args) { final int NUM = 6; for(int i = 0; i < NUM; i++) System.out.println( X(i)); } public static int X(int n) { int result = 1; for(int i = 2; i <= n; i++) result *= i; return result; } } A soma dos valores exibidos pelo comando println é: 2 34 4 10 154 1. 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 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. 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 Gabarito Coment. Gabarito Coment. 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. Todas as alternativas estão corretas. Todas as alternativas estão erradas. Apenas a alternativa iii está correta. Apenas a alternativa ii está correta. Apenas a alternativa i está correta. 3. 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.lang e javax.swing java.awt e javax.swing java.awt e java.lang javax.swing e java.util java.util e java.lang Gabarito Coment. 4. 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 erradas. Apenas a alternativa II está correta. Todas as alternativas estão corretas. Apenas a alternativa I está correta. 5. Uma caixa de combinação permite ao usuário fazer uma seleção a partir de uma lista de itens. Assinale a alternativa que representa uma caixa de combinaçãoo. Jmenu JRadioButton JcomboBox Jcheckbox JButton 6. 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 JFrame("sair"); JFrame botao = new JButton("sair"); JButton.botao = new JButton("sair"); JButton botao = new JButton("sair"); JFrame.botao = new.JButton("sair"); 7. 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 ii está correta. Apenas a alternativa i está correta. Todas as alternativas estão corretas. Apenas a alternativa iii está correta. Todas as alternativas estão erradas. 8. 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: JComboText combo = new "Caixa de Texto" JFrameText texto = new Text() JLabel("caixa de texto") JBox caixa = "Caixa de Texto" JTextField caixa = new JTextField() 1. Alguns métodos não retornam valores. Eles podem ser executados apenas para exibir um valor, por exemplo. Neste caso, usa-se uma palavra chave como se fosse um tipo de dado para valores de retorno. Quando Java encontra essa palavra chave sendo usada como um tipo de dado de valor de retorno, Java sabe que nadadeverá ser retornado. void Scanner static public main 2. Seja a classe: public class Navio { private String classeNavio; private int numPassageiros; public Navio(classeNavio) { this.classeNavio=classeNavio; } } Marque a alternativa que representa corretamente uma sobrecarga de construtor: public Navio(){}; public int Navio(){return classeNavio;} public private Navio(){String classeNavio;} public String Navio(){return classeNavio;} public int,String Navio(){numPassageiro=classeNavio;} 3. Os atributos de uma classe representam as características de um objeto, isto é, têm a finalidade de armazenar os dados dos objetos dessa classe. Com o objetivo de contemplar o encapsulamento, os atributos devem ser: private ou protected public abstract final static Gabarito Coment. 4. (CESPE - 2013 - TRE-MS) Assinale a opção correta quanto à abordagem conceitual de abstração sob o paradigma de programação orientada a objetos. Abstração é uma linguagem declarativa que permite acesso à base de dados mediante a utilização da teoria dos conjuntos e da álgebra relacional como fundamento de seu funcionamento. As abstrações, idealmente, caracterizam-se por não serem grandes demais em comparação aos módulos, pois senão elas se tornam multifuncionais e de difícil compreensão. Como consequência, a abstração deve ser implementada apenas no nível de estruturas de dados necessários para se atingir o objetivo pretendido. Abstração é um conceito segundo o qual o sistema ou software é dividido em partes distintas. Compõe o ferramental necessário para um programa mais legível com uma melhor manutenção e melhor desempenho por meio da programação orientada a objetos. Abstração é a habilidade de se concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software. Abstração consiste em uma linguagem puramente lógica. A motivação para isso veio em parte da vontade de se reconciliar o uso da lógica como uma linguagem declarativa de representação do conhecimento com a representação procedimental do conhecimento. 5. (FCC ¿ 2011 ¿ TRE-RN Analista Judiciário ¿ Análise de Sistemas) Método especial destinado ao preparo de novos objetos durante sua instanciação. Pode ser acionado por meio do operador new, recebendo parâmetros como métodos comuns, o que permite caracterizar os objetos já na instanciação. Trata-se de: Herança múltipla Construtor Atributo Operação polimórfica Herança polimórfica 6. Em uma linguagem orientada a objetos, o uso repetido de um mesmo método em uma classe é um recurso conhecido como: sobrecarga(overloading) de método herança superclasse instância de uma classe sobreposição(overriding) de método 7. Seja a classe: public class TV { public boolean estadoTV; public TV(boolean estadoTV){this.estadoTV=estadoTV;) public void ligaTV() {estadoTV=true;} public void desligaTV( ) {estadoTV=false;} } Marque a alternativa que apresenta uma forma correta de se criar uma instância para esta classe: TV m.new TV(); TV m=newTV(false ); TV m.new TV(true ); TV m.new TV; TV m=new TV(); 8. O paradigma Orientado a Objetos é a base para a linguagem de programação Java, tratando os conceitos de herança, polimorfismo, sobrescrição e sobrecarga. Acerca desses conceitos, considere as afirmativas a seguir. I. A herança é uma técnica que permite que uma classe seja subclasse de outra classe, desde que sejam do mesmo pacote. II. Um mesmo objeto pode ser referenciado por instâncias de tipos diferentes, desde que do mesmo tipo ou de um supertipo do objeto. III. Os métodos construtores das classes Java podem ser sobrecarregados, mas não podem ser sobrescritos. IV. O conceito de sobrecarga é baseado na reutilização dos nomes dos métodos, porém com assinaturas diferentes. Assinale a alternativa correta. Somente as afirmativas II, III e IV são corretas. Somente as afirmativas III e IV são corretas. Somente as afirmativas I e IV são corretas Somente as afirmativas I, II e III são corretas. Somente as afirmativas I e II são corretas. 1. Quando se pensa em uma classe como um tipo de dados, se imagina que os objetos desse tipo ou classe sempre serão instanciados. Entretanto, existem situações em que é útil definir classes para as quais nunca irá se querer instanciar objetos dessa classe. Essas classes são chamadas: Interface Classes Abstratas Classes Polimórficas Classes Final Classes privadas 2. Java permite trabalharmos com várias classes. Muitas vezes, classes diferentes tem características comuns, então, ao invés de criarmos uma nova classe com todas essas características usamos as características de um objeto ou classe já existente. Esse conceito se refere à: Interface Herança Exceção Classes Abstratas Polimorfismo Gabarito Coment. 3. Em Orientação a Objetos (O.O.), o conceito que representa uma classe que NÃO possui objetos instanciados a partir dela é: superclasse herança subclasse classe abstrata classe oculta 4. Um método de uma subclasse que possua o mesmo nome e a mesma quantidade e tipos de parâmetros de outro método existente na sua superclasse direta é um exemplo de ________. Já se dois métodos possuem o mesmo nome em uma classe, mas quantidades e/ou tipos diferentes de parâmetros, isto é um exemplo de _________. polimorfismo, herança sobrecarga, herança sobrecarga, sobrescrição sobrescrição, encapsulamento sobrescrição, sobrecarga 5. Em POO (programação orientada a objetos), dizer que a classe A é superclasse de B é o mesmo que dizer que: B implementa A A implementa B A estende B B é derivada de A A é derivada de B 6. (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 II e III III Gabarito Coment. 7. (CESPE) Observe o fragmento de código java a seguir:O código em Java apresentado acima é um exemplo de: herança com uso da palavra-chave this e sobrecarga de método. override com uso da palavra-chave this e polimorfismo de método. herança com uso da palavra-chave this e sobreposição de método. herança com uso da palavra-chave extends e sobreposição de método. herança com uso da palavra-chave extends e sobrescrita de método. 8. (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 Sobrecarga Sobreposição Abstração Herança 1. Analise as sentenças abaixo e indique (V) para as verdadeiras e (F) para as falsas: ( ) As linhas de instrução são finalizadas com ";". ( ) Quando definimos: Pessoa p1, dizemos que p1 aponta para um objeto da classe Pessoa. ( ) O escopo da classe é representado por [ ]. ( ) Quando desejamos referenciar uma classe de outro pacote usamos o comando package. ( ) Métodos são do tipo void, quando possuem informação de retorno. ( ) A execução de um método é realizada pelo objeto. ( ) Atribuição de valores é representada pelo símbolo == Marque a alternativa que representa a sequencia de cima para baixo correta: F - V - V - F - F - F - F V - F - F - V - V - V - F V - V - V - V - V - V - V V - F - F - V - F - F - V V - V - F - V - F - V - F Explicação: Analise as sentenças abaixo e indique (V) para as verdadeiras e (F) para as falsas: ( ) As linhas de instrução são finalizadas com ";". Correto, regra da linguagem java. ( ) Quando definimos: Pessoa p1, dizemos que p1 aponta para um objeto da classe Pessoa. Correto, geramos um espaço em memória apontado pelo endereço de p1 ( ) O escopo da classe é representado por [ ]. Não, sempre por {} ( ) Quando desejamos referenciar uma classe de outro pacote usamos o comando package. Correto, regra da linguagem Java. ( ) Métodos são do tipo void, quando possuem informação de retorno. Errado, o contrário, void indica que não se retorna nada. ( ) A execução de um método é realizada pelo objeto. Correto, os objetos executam seus métodos ao serem invocados por mensagens. ( ) Atribuição de valores é representada pelo símbolo == Errado, == é para comparação. Marque a alternativa que representa a sequencia de cima para baixo correta: 2. Na Programação Orientada a Objetos podem-se definir as visibilidades dos métodos e atributos. Quanto a essa característica é correto afirmar que: 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 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 o acesso aos atributos privados e aos métodos públicos só pode ser feito a partir dos métodos membros da classe Gabarito Coment. 3. 17.3) A figura abaixo representa qual tipo de relacionamento entre as classes? Mesclagem Combinação Pontuação Permutação Agregação Explicação: Na UML o símbolo do lozango branco indica que a forma de associação entre as classes é uma agregação, que conforme apresentado na aula tem acoplamento fraco. 4. Seja a classe: public class Carro { private String cor; private boolean estadoMotor; public void ligaMotor() {estadoMotor=true;} public void desligaMotor( ) {estadoMotor=false;} public boolean motor( ){ return estadoMotor;} } Se o código abaixo for executado, pode-se dizer que: public class Teste { public static void main(String[] args) { Carro c=new Carro(); c.cor="Preto"; } } Será gerado erro de execução pois o tipo do atributo está em desacordo com o valor atribuído. O objeto c não pode ser instanciado, pois não há construtor na classe. Será gerado erro de compilação pois há erro de sintaxe em: c.cor="Preto"; Será gerado um erro de compilação, pois o atributo é private. O código é executado normalmente, pois c é uma instancia da mesma classe que o atributo. Gabarito Coment. 5. Como se declara um método estático em Java? public void static exemploMetodo() {} static void public exemploMetodo() {} static exemploMetodo() {} public static void exemploMetodo() {} public void exemploMetodo() {} Gabarito Coment. 6. (FCC ¿ 2012 ¿ TRT 11ª Região (AM) Analista Judiciário ¿ Tecnologia da Informação) Sobre Programação Orientada a Objetos, analise as afirmações: I. O encapsulamento garante que apenas as interfaces necessárias para interação com o objeto estejam visíveis, e atributos internos não sejam acessíveis. II. O polimorfismo garante que objetos herdem métodos e atributos de uma superclasse para a geração de uma nova classe. III. A herança possibilita que distintas operações na mesma classe tenham o mesmo nome, desde que alterada a assinatura. Está correto o que se afirma em: III apenas II apenas II e III apenas I, II e III I apenas 7. 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: possui 5 atributos públicos possui o método main - principal os atributos estão públicos o método construtor não está implementado a classe Notebook possui dois atributos encapsulados e privados e apenas o método construtor 8. 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 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. 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 public permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso protected tornao 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 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 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. 1. Generalização é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis(atributos), também é conhecido como: (Fonte: adaptado IBM) Herança Classe Abstrata Associação Abstração Agregação Gabarito Coment. 2. Qual é o método utilizado para incluir uma barra de menu em um JFrame? setJMenuItem addJMenuItem addJMenuBar setJPopupMenu setJMenuBar 3. 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"); JFrame botao = new JButton("sair"); JFrame.botao = new.JButton("sair"); JButton.botao = new JButton("sair"); JButton botao = new JFrame("sair"); 4. 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 c a d Gabarito Coment. 5. 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 JFrame("sair"); JButton.botao = new JButton("sair"); JFrame.botao = new.JButton("sair"); JFrame botao = new JButton("sair"); JButton botao = new JButton("sair"); Gabarito Coment. 6. Considere o seguinte código-fonte em linguagem Java: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class Q4Class extends JFrame{ private JButton b; public static void main(String[] args) { JFrame f = new Q4Class (); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(300, 200); f.setVisible(true); } public Q4Class (){ this.getContentPane().add(b = (new JButton("Clique aqui"))); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ ((JButton)e.getSource()).setText("OK"); } }); } } o programa não termina quando a janela é fechada porque não foi adicionado um WindowListener ao objeto referenciado por f no método main o código não executará, com erro no construtor o argumento da chamada do método addActionListener para o objeto referenciado por b é uma classe interna anônima a chamada do método getSource() retorna uma referência da classe Object para o objeto ouvinte do evento de clique de botão, e essa referência é convertida para o tipo JButton para ser possível mudar o texto exibido no botão o símbolo b não poderia ser referenciado dentro do método main porque este não faz parte da classe Q4Class 7. 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 Polimorfismo Abstração Encapsulamento Sobrecarga Gabarito Coment. 8. 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 JLabelText JListBox JTextBox JComboBox 1. 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. addActionListener getActionCommand ActionListener ActionPerformed ActionEvent Gabarito Coment. 2. Um estagiário de programação foi incumbido de verificar uma linha de código de um programa que apresentava uma tela de forma indesejada. JOptionPane.showInputDialog(null," "," ",JOptionPane.QUESTION_MESSAGE); Para corrigir é necessário conhecer o que se espera, respectivamente, nos campos entre aspas. Assinale a alternativa que define respectivamente. texto interno da caixa de leitura e o texto da barra de título. texto da barra de título e o texto interno da caixa de leitura. símbolo do tipo de mensagem e o tamanho a cor da caixa de texto. texto da barra de título e o texto interno do campo texto. texto interno da caixa de leitura e o texto do campo texto. Gabarito Coment. 3. 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...", JOptionPane.QUESTION_MESSAGE); JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...",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("Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION); Gabarito Coment. 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 _________ ." showMessageDialog/JOptionPaneshowInputDialog/JOptionPane. showMessageBox/JOptionBox showMessage/JOption showInputBox/JOptionBox Gabarito Coment. 5. O método __________ permite o registro de um tratador de eventos para um objeto visual. O método __________ contém o código de tratamento de um evento em um objeto tratador de eventos. O método _________, da classe Event, permite obter a referência do objeto visual que gerou o evento. Escolha a opção que enumera a sequência correta de preenchimento das lacunas do texto. getSource; handler; actionPerformed addActionListener; actionPerformed; getSource addActionListener; handler; getSource actionPerformed;add; getSource add; addActionListener; handler 6. Evento é um acontecimento relevante no meio externo ao sistema . Portanto um evento pode ser considerado como o resultado da interação do usuário com algum componente. Na linguagem java, o evento gerado sempre que um botão for pressionado, este irá percorrer a sua lista interna chamando o método: ItemListener actionEvent actionPerformed abstractClass ActionListener Explicação: Para adicionar listeners, a classe que representa o botão (JButton) possui um método chamado addActionListener, que recebe por parâmetro um objeto que implementa a interface ActionListener. A interface ActionListener especifica um método chamado actionPerformed que será disparado toda vez que o usuário clicar naqule botão. 7. Para tratar os eventos relacionados a botões( Jbutton, JradioButton, JcheckBox, JtoogleButton) ou itens de um menu (JMenuItem), devem-se criar classes para manipulação a partir de interface java.awt.event.ActionListener. Essa interface tem apenas um método (actionPerformed(ActionEvent e)), motivo pelo qual: não existe uma classe adaptadora (adapter) para este tipo de evento. existem diversos adapters (classes adaptadoras) para este tipo de evento. estes componentes gráficos são estáticos e não efetuam eventos. não associa-se a estes componentes diversos tipos de eventos. não se pode associar nenhuma ação a esses comonentes gráficos. 8. 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: Todas as afirmativas são corretas. Apenas as afirmativas I e IV. Apenas as afirmativas I, II e III. Apenas a alternativa I. Apenas as afirmativas II, III e IV. 1. O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valores retornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java: I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try. II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch. III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch's diferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro. IV. O bloco do finally é sempre executado, com ou sem exceção. Marque a alternativa correta: Apenas as sentenças II e III estão corretas Apenas a sentença I está correta. Todas as sentenças estão corretas. Apenas as sentenças I,II e III estão corretas. Apenas as sentenças I, III e IV estão corretas. Gabarito Coment. 2. O tratamento de exceção em Java é implementado com a utilização dos blocos try(), catch() e opcionalmente o bloco finally. Sabe-se que o bloco finally não executará se o aplicativo fechar antes de um bloco try chamando o método System.exit, pois este método encerra imediatamente um aplicativo. Assim marque a única afirmação CORRETA com relação a aplicação dos blocos que implementam a exceção em Java. Se o programa capturar a exceção em dos blocos catch, o programa processa primeiramente o bloco finally e só então processa o tratamento da exceção. No Java se permite capturar o mesmo tipo de exceção em dois blocos catch diferentes em uma única instrução catch. O Java permite colocar qualquer código entre um bloco try e seus blocos catch correspondentes. No Java é permitido colocar uma lista de parâmetros de exceção separados por vírgulas para um mesmo bloco catch. O java garante que o um bloco finally executará se um bloco try fechar utilizando uma instrução return, break ou continue. 3. O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valores retornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java: I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try. II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch. III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch's diferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro. IV. O bloco do finally é sempre executado, com ou sem exceção. Marque a alternativa correta: Apenas as sentenças II e III estão corretas Apenas as sentenças I,II e III estão corretas. Apenas as sentenças I, III e IV estão corretas Todas as sentenças estão corretas. Apenas a sentença I está correta. 4. Uma exceção é uma indicação de um problema que ocorre durante a execução de um programa. O nome "exceção" dá a entender que o problema ocorre raramente, se a regra é que uma instrução execute geralmente de modo correto, então a exceção a regra é que um problema ocorra. Em muitos casos, o tratamento de exceção permite que: um programa nunca seja executado se houver uma situação de exceção, independentemente de qual seja a situação de exceção. um programa seja travado e destravado a medida que as instruções forem sendo executadas. um programa continue executando como se nenhum problema tivesse sido encontrado. um programa seja executado apenas se não ocorrer nenhuma situação de exceção, independentemente de qual seja esta situação excepcional. um programa seja finalizado independetemente de haver ou não uma situação de exceção. Gabarito Coment. 5. Marque a afirmativa corretasobre o tratamento de exceções em Java. O tratamento de exceção é composto apenas pelo comando try. Tratamento de exceção é um recurso da linguagem de programação Java utilizado para capturar os erros de execução. Tratamento de exceção não é um recurso útil e facilmente substituído pelos comandos if e else. Tratamento de exceção não é utilizado quando os erros ocorrem. O tratamento de exceção só captura erros de compilação. 6. Dado o programa em Java: public class Exemplo { public static void main(String[] args) { int z=5, x=0; try{ z/=x; } System.out.println("Divisão por Zero."); catch(Exception ex){ System.out.println("Erro!"); } } } Marque a alternativa que representa o seu resultado: Captura a exceção e apresenta a mensagem "Erro!" Não compila devido a erro. Apresenta a mensagem "Divisão por Zero." 0 Não apresenta resultado de saída. 7. 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á: "13" A saída no console será: "10" A saída no console será: "3" A saída no console será: "-1" Não compilará; 8. 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 superclasse dessa hierarquia, que por sua vez é uma subclasse de Object, é: Exception RunTimeException Error VirtualMachineErros Throwable Pode-se dizer sobre exceções que: Marque a alternativa correta. 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 é obrigatório utilizar o comando finally em todos tratamentos de exceção throws é o comando responsável pela implementação de uma exceção o tratamento de exceção deve ser feito em todos os casos em que haja probabilidade de ocorrer um erro. são as principais classes de exceções Java: NullPointerException, offExcecpion e onException Gabarito Coment. 2. Dado o trecho de código escrito em Java abaixo, podemos afirmar que: public class Avaliacao{ public void metodo() throws Exception { throw new Exception(); } public static void main(String args[]) { int x, y, z; x = y = z = 1; try { new Avaliacao().metodo(); x++; } catch (Exception e) { y++; } finally { z++; new Avaliacao().metodo(); } System.out.println(x + "," + y + "," + z); } } Imprime no console: 2,2,3. O programa não compila. Imprime no console: 2,2,1. Imprime no console: 1,1,2. Imprime no console: 1,1,3. Gabarito Coment. 3. 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 Gabarito Coment. Gabarito Coment. 4. Por qual motivo é utilizado o bloco try...catch. Polimorfismo. Auditar código. Tratar e recuperar erros. Realizar tentativas de execução. Fazer depuração de códigos. Gabarito Coment. 5. 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." classe abstrata agregação polimorfismo interface herança Gabarito Coment. 6. 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 execução sem a existência de Exceções. O código não compila por causa de um erro no array. O código não compila. O código compila ocorre uma exceção ArrayIndexOutOfBoundsException, contudo está é tratada e o programa segue ate imprimir: "Fim do main!". O código compila, mas tem sua execução interrompida devido a ocorrência de uma ArrayIndexOutOfBoundsException. 1. Os programas Java normalmente passam por cinco fases para serem executados: Edição; Compilação; Verificação; Execução; Edição; Compilação; Carga; Validação; Execução; Edição; Compilação; Carga; Verificação; Execução; Edição; Carga; Verificação; Execução; Edição; Compilação; Carga; Execução; Explicação: A linguagem de programação Java é tida como uma linguagem híbrida, a mesma realiza a compilação de seu código-fonte para bytecode para em seguida interpretá-lo em sua máquina virtual. 2. 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 gera um código executável para cada sistema operacional. Ela é usada para compilar um código Java. Você precisa reescrever parte da sua aplicação toda vez que quiser mudar de sistema operacional. 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 faz com que o código fonte e compilado seja para uma plataforma e sistema operacional específicos. Gabarito Coment. 3. 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: Eclipse NetBeans JRE JDK JSP 4. Analisando as características da linguagem JAVA, marque a alternativa correspondente ao fato da linguagem poder ser implantada em diversas plataformas, como, por exemplo, Windows, Unix e Macintosh, semque seja necessário modificar ou mesmo reconstruir a aplicação: Flexibilidade Portabilidade Escalabilidade Facilidade de programação Recompilação automática Gabarito Coment. 5. São exemplos de linguagens Compiladas, interpretadas e hibridas, respectivamente C++, Java, JavaScript Java, C, C++ Scripts Shell do Linux, JavaScript, Java C++, Scripts Shell do Linux , Java Java, C++ e JavaScript 6. 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: JavaServePages Dot Net Servlet Bytecode classe 7. 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 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 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.java compila-se o arquivo e produz-se o arquivo MeuPrograma.class. Em seguida com o comando java MeuPrograma o bytecode é executado. 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 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. Gabarito Coment. 8. 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 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 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 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 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. 1. 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: 15 e 3 12 e 3 12 e 2 15 e 2 14 e 2 Gabarito Coment. 2. public class qwert { public static void main(String[] args) { qwert a = new qwert(); a.asdfg(672, 117); } void asdfg(int d1, int d2) { int a3 = 1; int a1 = d1; int a2 = d2; System.out.println("Resposta"); if (a1 >= a2) { while (a3 > 0) { a3 = a1 % a2; a1 = a2; a2 = a3; System.out.println(a1 + " - " + a3); } } } } Assinale a opção que apresenta o resultado da execução do código Java precedente. Resposta 672 - 117 117 - 87 87 - 30 30 - 27 27 - 3 Resposta 117 - 87 87 - 30 30 - 27 27 - 33 - 0 Resposta 672 - 117 Resposta 87 - 30 Resposta 3 - 0 3. Dado o trecho do programa em JAVA abaixo, identificar sua saída. Interger i = 1; while (i < 10){ if (i%2==0){ i++; } else { i=i+2; } System.out.print(i+" "); } 2 4 6 8 1 2 3 4 5 6 7 8 9 11 1 2 4 6 8 1 3 5 7 9 11 3 5 7 9 11 4. Uma das tarefas realizadas por um compilador é a avaliação de expressões. Nesta tarefa, ocorre a verificação da sintaxe e a definição da ordem de execução dos operadores. Com base nas ordens de precedência e associatividade e nas regras de conversão de tipos primitivos, informe o valor impresso resultante da avaliação da seguinte instrução: System.out.println( 4 < 5 ? 7 : 2 ); 5 2 7 3.5 4 5. Considerando o trecho de programa apresentado a seguir, marque a alternativa que apresenta o resultado obtido após o processamento. public class Prog3 { public static void main(String[] args) { String A = "MEL DE ABELHA"; char letra = A.charAt(5); System.out.println("\n" +letra); } } E ABELH MEL D MEL DE MEL DE ABELHA 6. Considerando o trecho de programa apresentado a seguir, marque a alternativa que apresenta o resultado obtido após o processamento. public class Prog2 { public static void main(String[] args) { String A = "MEL DE ABELHA"; int x = A.length(); System.out.println("\n" +x); } } 11 10 3 9 13 7. Uma das tarefas realizadas por um compilador é a avaliação de expressões. Nesta tarefa, ocorre a verificação da sintaxe e a definição da ordem de execução dos operadores. Com base nas ordens de precedência e associatividade e nas regras de conversão de tipos primitivos, informe o valor impresso resultante da avaliação da seguinte instrução: System.out.println( 4 + (int) (5.9f) ); Ocorre erro de compilação 9 10 9.0 10.0 8. Analise o código abaixo e marque a opção correta após a execução do mesmo: public class Prog001 { public static void main(String[] args) { String X="RIO DE JANEIRO"; int tamanho=X.length(); System.out.println("Tamanho = " +tamanho); } } Êrro de compilação Tamanho = 13 Tamanho = 3 Tamanho = 14 Êrro de sintaxe 1. Uma caixa de combinação permite ao usuário fazer uma seleção a partir de uma lista de itens. Assinale a alternativa que representa uma caixa de combinaçãoo. Jcheckbox JButton JRadioButton Jmenu JcomboBox 2. 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 diminuio 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. Apenas a alternativa ii está correta. Todas as alternativas estão erradas. Apenas a alternativa i está correta. Todas as alternativas estão corretas. 3. 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.lang e javax.swing java.util e java.lang java.awt e javax.swing javax.swing e java.util java.awt e java.lang Gabarito Coment. 4. 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 I está correta. Apenas a alternativa III está correta. Todas as alternativas estão erradas. Apenas a alternativa II está correta. Todas as alternativas estão corretas. 5. 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: A classe JPanel não tem painel de conteúdo como JFrames, assim, os elementos devem ser diretamente adicionados ao objeto painel O JPanel, assim como o JFrame são derivados do pacote java.util.awt São criados com a classe JPanel, que é derivada da classe Container São elementos que fazem a intermediação entre um container e os demais GUI anexados. São áreas que comportam outros componentes, inclusive outros painéis Gabarito Coment. Gabarito Coment. 6. 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: JTextField caixa = new JTextField() JComboText combo = new "Caixa de Texto" JBox caixa = "Caixa de Texto" JFrameText texto = new Text() JLabel("caixa de texto") Gabarito Coment. Gabarito Coment. 7. 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 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. Cada objeto inserido no JComboBox é representado visualmente pela String retornada pelo método toString(). 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 Pertence ao pacote javax.swing Gabarito Coment. 8. O método setDefaultCloseOperation()pode ser executado com algumas constantes como argumento, marque a alternativa em que a constante usada destrói a janela. DO_NOTHING_ON_CLOSE DESTROI_ON_CLOSE DISPOSE_ON_CLOSE EXIT_ON_CLOSE HIDE_ON_CLOSE 1. O conceito de Tipo de Dados Abstrato (TDA) é popular em linguagens de programação. Nesse contexto, analise as a afirmativas a seguir. I. A especificação de um TDA é composta das operações aplicáveis a ele, da sua representação interna, e das implementações das operações. II. Dois mecanismos utilizáveis na implementação de um TDA em programas orientados a objetos são a composição e a herança. III. Se S é um subtipo de outro T, então entidades do tipo S em um programa podem ser substituídas por entidades do tipo T, sem alterar a corretude desse programa. IV. O encapsulamento em linguagens de programação orientadas a objetos é um efeito positivo do uso de TDA. É correto apenas o que se a afirma em: I e II. II e IV. II. I. III e IV. 2. ______________________ permite que um método com o mesmo nome, porém com diferentes argumentos, possua diferentes e retorne valores de diferentes tipos. Overriden Overloading TransOver Overflow Override 3. Agregação e composição definem relacionamentos entre _______ para os quais deve ser definida a ________ da relação. Já a relação de herança expressa uma _______ entre as classes. Escolha a opção que complementa corretamente o texto anterior: Métodos; cardinalidade; prioridade Objetos; hierarquia; prioridade Classes; hierarquia; cardinalidade Objetos; cardinalidade; hierarquia Classes; prioridade; hierarquia 4. 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: É acessado pelo objeto e não pela classe. É um atributo do objeto e não da 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. É a forma mais próxima de se definir um atributo local em Java. 5. De acordo com a descrição de um conjunto de entidades (reais ou abstratas) de um mesmo tipo e com as mesmas características e comportamentos. É uma definição de: String. Objeto. Classe. Método. Conjunto. 6. Um objeto é instanciado em Java por meio do operador new. type. this. instanceof. extend. 7. Marque a alternativa que indica qual a sintaxe que instancia um objeto corretamente em Java? Classe objeto := new Construtor(); Construtor objeto = new Classe(); Construtor objeto new Classe(); Classe objeto = new Construtor(); Classe objeto new Construtor(); 8. Em Java, para alterara visibilidade do elemento utiliza-se, entre outros, o modificador de acesso: protected. static. abstract. volatile. transient. 1. Marque a alternativa que representa a palavra reservada que indica a execução do construtor de superclasses em uma generalização: extends new generation implements super 2. Todo método construtor de uma subclasse precisa também chamar um construtor da superclasse, caso existam campos de instância nesta superclasse. Para tanto, usa-se o comando: erase delete extends super open 3. Considerando o conceito de Interface em Java e a interface Comparable que possui o método abstrato compareTo para comparar objetos, marque a opção correta : Se uma classe X implementar a interface Comparable ela terá que definir todos os métodos da interface, ou seja, terá que definir o método compareTo, pois caso contrário, ocorrerá erro de compilação. Se uma classe X implementar a interface Comparable ela terá que ser abstrata, pois caso contrário, ocorrerá erro de compilação. Se uma classe X implementar a interface Comparable ela terá que definir o método compareTo apenas se o método for usado em alguma parte da classe. Precisamos definir os atributos da interface Comparable de acordo com a classe que estará implementando-a. O método compareTo precisa ser mudado na interface de abstract para concreto, pois somente assim, poderemos defini-lo na classe que implementar a interface Comparable. 4. O tipo estático de um objeto é resolvido em tempo de ________ , enquanto que o tipo dinâmico do objeto é resolvido em tempo _______ . Isso permite postergar a definição de qual versão de um método será chamada, o que é a base do conceito de ________. Escolha a opção que complementa corretamente o texto anterior: Execução; compilação; encapsulamento Execução; compilação; polimorfismo Compilação; carregamento; herança Compilação; execução; polimorfismo Carregamento; execução; herança 5. 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 sobrecarga de método herança múltipla polimorfismo acesso externo direto a atributo 6. (FCC/2012 TJ-RJ) No contexto de programação orientada a objetos, considere as afirmativas abaixo. I. Objetos são instâncias de classes. II. Herança é uma relação entre objetos. III. Mensagens são formas de executar métodos. IV. Classes são apenas agrupamentos de métodos. V. Ocorre herança múltipla quando mais de um método é herdado. VI. Herança é uma relação entre classes. Está correto o que se afirma APENAS em: I, III e IV. II, III e V. II, IV e V. III, IV e VI I, III e VI. Explicação: I. Objetos são instâncias de classes. III. Mensagens são formas de executar métodos. VI. Herança é uma relação entre classes. Gabarito Coment. Gabarito Coment. 7. Considerando o esquema de herança existente na metodologia de Orientação a Objeto, em uma hierarquia de classes em Java, temos: I. Os construtores da superclasse não são herdados pelas instâncias de uma subclasse. II. Todo método construtor de uma superclasse precisa também chamar um construtor da subclasse. III. O comando super( ), chamada ao construtor da superclasse, deve ser declarado obrigatoriamente na primeira linha do construtor da subclasse. Marque a alternativa CORRETA: Todas as sentenças são verdadeiras. Apenas as sentenças I e II são verdadeiras. Apenas as sentenças II e III são verdadeiras. Nenhuma sentença é verdadeira. Apenas as a sentença I e III são verdadeiras. 8. 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 C está herdando as características das classes B e A, assumindo a característica de polimorfismo A classe B possui atributo protegido, sendo assim, qualquer classe que herde não pode acessar diretamente o atributo A classe B herda as características de A, mas não tem acesso direto ao atributo de A A classe B herda as características de A e pode acessar diretamente o atributo de A A classe C, por herdar as características das classes A e B, pode acessar diretamente os atributos de A e B 1. Analise as sentenças abaixo e indique (V) para as verdadeiras e (F) para as falsas: ( ) As linhas de instrução são finalizadas com ";". ( ) Quando definimos: Pessoa p1, dizemos que p1 aponta para um objeto da classe Pessoa. ( ) O escopo da classe é representado por [ ]. ( ) Quando desejamos referenciar uma classe de outro pacote usamos o comando package. ( ) Métodos são do tipo void, quando possuem informação de retorno. ( ) A execução de um método é realizada pelo objeto. ( ) Atribuição de valores é representada pelo símbolo == Marque a alternativa que representa a sequencia de cima para baixo correta: V - V - V - V - V - V - V V - V - F - V - F - V - F F - V - V - F - F - F - F V - F - F - V - V - V - F V - F - F - V - F - F - V Explicação: Analise as sentenças abaixo e indique (V) para as verdadeiras e (F) para as falsas: ( ) As linhas de instrução são finalizadas com ";". Correto, regra da linguagem java. ( ) Quando definimos: Pessoa p1, dizemos que p1 aponta para um objeto da classe Pessoa. Correto, geramos um espaço em memória apontado pelo endereço de p1 ( ) O escopo da classe é representado por [ ]. Não, sempre por {} ( ) Quando desejamos referenciar uma classe de outro pacote usamos o comando package. Correto, regra da linguagem Java. ( ) Métodos são do tipo void, quando possuem informação de retorno. Errado, o contrário, void indica que não se retorna nada. ( ) A execução de um método é realizada pelo objeto. Correto, os objetos executam seus métodos ao serem invocados por mensagens. ( ) Atribuição de valores é representada pelo símbolo == Errado, == é para comparação. Marque a alternativa que representa a sequencia de cima para baixo correta: 2. Na Programação Orientada a Objetos podem-se definir as visibilidades dos métodos e atributos. Quanto
Compartilhar