Baixe o app para aproveitar ainda mais
Prévia do material em texto
Uma das razões pela portabilidade da tecnologia Java é a utilização da JVM (Java Virtual Machine). É correto dizer em relação a JVM: 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 faz com que o código fonte e compilado seja para uma plataforma e sistema operacional específicos. A JVM gera um código executável para cada 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. Com relação à orientação a objetos em JAVA, é INCORRETO afirmar que JAVA permite: a implementação de múltiplas interfaces. métodos de classe; herança múltipla; sobrecarga; polimorfismo; 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: JSP Eclipse NetBeans JRE JDK Fornece as principais APIs e enfoca o desenvolvimento de aplicações na arquitetura Cliente / Servidor. Não permite distribuição de objetos nem oferece suporte a tecnologias para Internet. Esta definição refere-se ao: J2SE - Java2 Standard Edition Java servlets J2ME - Java2 Micro Edition J2EE - Java2 Enterprise Edition Java applets Para que possamos desenvolver sistemas nas mais diversas linguagens, é muito importante conhecer suas principais características e como as mesmas funcionam. Na linguagem Java, do processo de criação do código até a execução do programa passamos por algumas etapas. Em uma delas é gerado o "bytecode". Qual das respostas apresenta o conceito correto para "bytecode"? É a compilação de um programa escrito em Java, com o objetivo de ser interpretado pela JVM. Código fonte desenvolvido pelo usuário, sujeito a interpretação do Sistema Operacional. É resultado da interpretação do código fonte de um programa escrito em Java. É a interpretação de um programa escrito em qualquer linguagem, com o objetivo de ser compilado pela JVM. É a compilação de um programa escrito em Java, com o objetivo de ser interpretado pelo Sistema Operacional. 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 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.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. 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 III é verdadeira I é verdadeira II é verdadeira I e III são verdadeiras Os programas Java normalmente passam por cinco fases para serem executados: Edição; Carga; Verificação; Execução; Edição; Compilação; Carga; Verificação; Execução; Edição; Compilação; Carga; Execução; Edição; Compilação; Carga; Validação; Execução; Edição; Compilação; Verificação; Execução; A plataforma Java disponibiliza um 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 API. J2SE. JavaBeans. Java Virtual Machine. JavaFX. Quando programamos em Java, devemos levar em consideração as convenções de nomenclatura para deixar nosso código o mais legível e documentável possível, pois um dos objetivos da programação orientada a objetos é o reaproveitamento do código. Com relação ao nome de classes, por convenção, marque a opção incorreta: O nome da classe deve ser exatamente o mesmo nome de seu arquivo fonte ( .java ) O nome da classe deve fazer referência total ao seu objeto caso o nome de uma classe seja composto por mais de uma palavra, a primeira letra de cada palavra deve ser em maiúscula. deve começar com letras minúsculas, porém não podem começar com números. toda classe deve começar com uma letra maiúscula 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 a Java Virutal Machine-JVM. 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. O JDK e o Java Standard Edition. Somente o Java Runtime Enviroment-JRE. 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, pois o compilador entenderá que é um programa em java. 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 PrimeiroPrograma.java, pois o java faz diferença entre letras maiúscula e minúscula. 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 ProgramaPrincipal.java, pois este possui o método main (String arg []) que é o método principal do java. (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 http://simulado.estacio.br/bdq_simulados_exercicio.asp virtual será a responsável pela interpretação docó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 falsa, e a segunda, uma proposição verdadeira 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 As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa Qual sintaxe expressa a criação correta de uma classe em java? class Exemplo() {} class public Exemplo {} public class Exemplo {} public class Exemplo() {} Public Exemplo {} A tecnologia Java é, basicamente, dividida em: JSE, JEE e JPE JSE, JDE e JPE JSE, JEE e JME JSE, JEEP e JME JSE, JDE e JME São exemplos de linguagens Compiladas, interpretadas e hibridas, respectivamente Java, C, C++ C++, Java, JavaScript Java, C++ e JavaScript C++, Scripts Shell do Linux , Java Scripts Shell do Linux, JavaScript, Java Considere o programa em Java que ler as 3 notas de um aluno e calcula a média final deste aluno. Considerar que a média é ponderada e que o peso das notas é: 2,3 e 5, respectivamente. Analise o programa e selecione a equação que calcula, corretamente, a média ponderada: import javax.swing.*; public class Idade{ public static void main(String [] args){ float n1, n2, n3, media; n1 = Float.parseFloat(JOptionPane.showInputDialog(¿Informe a primeira nota:¿)); n2 = Float.parseFloat(JOptionPane.showInputDialog(¿Informe a segunda nota:¿)); n3 = Float.parseFloat(JOptionPane.showInputDialog(¿Informe a terceira nota:¿)); ( ) Equação que calcula a média ponderada. JOptionPane.showMessageDialog(¿Media é:¿+media); System.exit(0);; } } media = (n1 + n2 + n3)/10; media = (n1*2 + n2*3 + n3*5)/3; media = (n1*2 + n2*3 + n3*5)/10; media = (n1 + n2 + n3)/3; media = (n1 + n2 + n3)/30; Marque a opção correta. Um índice de um array deve ser: Inteiro e não negativo Real e não negativo Inteiro e negativo Caracter e não negativo String e não negativo Na linguagem Java as palavras reservadas: char, boolean, int, float e double representam interfaces métodos objetos tipos primitivos classes A alternativa que representa todos os tipos de dados primitivos em Java é char, boolean, byte, short, int, long, float, double e String byte, short, int, long, float, double, String e Date char, boolean, byte, short, int, long, float, double, String e Date short, boolean, int, long, float, double e String char, boolean, byte, short, int, long, float e double 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="CIDADES DO RIO DE JANEIRO"; String Y=X.substring(0,9); System.out.println("Resposta = "+Y;}} CIDADES CIDADES D CIDADES DO Êrro de sintaxe Êrro de compilação Considere o trecho de código a seguir e assinale a alternativa correta: public static void main(String[] args) { int[] vet = {6 , 8, 7, 9, 0, 4, 3, 2, 5, 1}; int aux = 0; int i = 0; System.out.print("{"); for(i = 0; i<10; i++){ System.out.print(" "+vet[i]); } System.out.print("}"); System.out.println(" "); for(i = 0; i<10; i++){ for(int j = 0; j<9; j++){ if(vet[j] > vet[j + 1]){ aux = vet[j]; vet[j] = vet[j+1]; vet[j+1] = aux; } } } System.out.print("{"); for(i = 0; i<10; i++){ System.out.print(" "+vet[i]); } System.out.print("}"); } É usado o método de ordenação BubbleSort (Bolha) e a saída será o vetor ordenado crescentemente O código apresentará um erro "java.lang.ArrayIndexOutOfBoundsException" O código irá exibir o vetor vet = {6 , 8, 7, 9, 0, 4, 3, 2, 5, 1} na saída É usado o método de ordenação BubbleSort (Bolha) e a saída será o vetor ordenado descrescentemente É usado o método de ordenação BubbleSort (Bolha) e a saída será o vetor vet = {6 , 8, 7, 9, 0, 4, 3, 2, 5, 1} 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 é: 4 154 34 2 10 Com base no trecho de código a seguir e com os valores de entrada passados na seguinte ordem 1200, 200, 120, 10 e -1101 o resultado será: public static void main(String[] args) { final int NUMEROS = 5; Scanner sc = new Scanner(System.in); int valorMax = Integer.MIN_VALUE; int valorMin = Integer.MAX_VALUE; for (int i = 0; i < NUMEROS; i++){ System.out.println("Entre com um valor:"); int valor = sc.nextInt(); if (valor > valorMax) valorMax = valor; if (valor < valorMin) valorMin = valor; } System.out.println("O maior valor é: "+valorMax); System.out.println("O menor valor é: "+valorMin); } O maior valor é: 1200 O menor valor é: -1101 O maior valor é: -1101 O menor valor é: 1200 O maior valor é: 200 O menor valor é: -1101 O maior valor é: 1200 O menor valor é: 10 O programa apresenta o erro "Integer.parseInt()" e não executa. No trecho de comando abaixo: y = 9; x = (y>5) ? 6 : 8; Qual é o valor atribuído à variável x? 7 5 8 9 6 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( 3 + 1 + "2" ); 312 Ocorre erro durante a execução devido à conversão. 6 42 31"2" Marque a alternativa que define o procedimento utilizado para comparar strings: if (nome == "Tudo Certo") if ("Tudo Certo".equals (nome)) if (equals (nome, "Tudo Certo")) if (verify ("Tudo Certo",nome)) if ("Tudo Certo".verify (nome)) Qual o valor da variável total no final da execução do código apresentado, logo abaixo? int total = 0 for(int conta = 2; conta <=20; conta+=2) total+= conta; System.out.printf("Resultado %d\n", total); 120 112 110 108 100 DENTRE OS COMANDOS BÁSICOS DA LINGUAGEM DE PROGRAMAÇÃO JAVA, QUAL O COMANDO ABAIXO QUE PODE SER UTILIZADO PARA COMPARAR DUAS STRINGS (str1 e str2)? str1.equals(str2); str1.equals.str2; strcpy(str1,str2); str1 == str2; strcmp(str1,str2); 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 87 - 30 Resposta 672 - 117 Resposta 3 - 0 Resposta117 - 87 87 - 30 30 - 27 27 - 33 - 0 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 3 5 7 9 11 1 3 5 7 9 11 1 2 3 4 5 6 7 8 9 11 1 2 4 6 8 Considerando o a classe MegaSena, descrita a seguir, sem erros. Marque a alternativa que indica o que será impresso pela execução do método sorteio(): 60 números inteiros em ordem crescente 6 números inteiros em ordem crescente 6 números aleatórios arredondados 6 números inteiros em ordem decrescente 60 números inteiros aleatórios 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 } Não compila. Por isso, nada é impresso na tela. 113 127 148 172 202 112 127 147 172 202 112 112 112 112 112 112 112 147 173 201 O código a seguir mostra um programa escrito na linguagem de programação Java. public class Java { private static void trocaB(String a, String b) { String tmp = a; a = b; b = tmp; } private static void trocaC(int[] array, String a) { for (int x = 0; x < array.length; x++) { array[x] = array[x] * Integer.valueOf(a); } } public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; String a = "2", b = "5"; trocaB(a, b); trocaC(array, a); System.out.print(a + " " + b + " "); for (int x = 0; x < array.length; x++) { System.out.print(array[x] + " "); } } } Após ser executado o código, o valor impresso na saída padrão do usuário será: 5 2 5 10 15 20 25 5 2 2 4 6 8 10 2 5 1 2 3 4 5 5 2 1 2 3 4 5 2 5 2 4 6 8 10 (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) false, true, false, true true, true, true, false true, false, true, false false, false, false, true true, false, false, true 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 ganhou o bônus perdeu o bônus e ganhou ganhou e ganhou perdeu e perdeu perdeu o bônus e ganhou o bônus 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. Todas as alternativas estão corretas. Todas as alternativas estão erradas. Apenas a alternativa i está correta. Apenas a alternativa iii está correta. O método setDefaultCloseOperation()pode ser executado com algumas constantes como argumento, marque a alternativa em que a constante usada destrói a janela. DISPOSE_ON_CLOSE DESTROI_ON_CLOSE DO_NOTHING_ON_CLOSE EXIT_ON_CLOSE HIDE_ON_CLOSE 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: Os nomes recebem um "J" no seu início: JLabel, JButton, JFrame, JPanel, etc 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 O encapsulamento é um conceito da orientação a objetos que: exibe todos detalhes de implementação permite o acesso irrestrito aos atributos da classe aumenta velocidade da máquina virtual java permite instanciar objetos esconde detalhes de implementação e garante maior segurança aos atributos da classe Qual a função do operador new? Aloca um espaço de memória usando o método construtor retornando um endereço de memória para a variável. Apontar para um endereço de memória onde o objeto se encontra alocado. É usado para destruir um objeto alocado na memória sob um determinado endereço de memória. nenhuma das alternativas. Avisa ao garbage colector para apagar determinado espaço de memória. nenhuma das alternativas Atributos declarados em uma classe como "private" não podem ser acessados de forma direta utilizando o nome do objeto como referência ao atributo, para isso há a necessidade de introdução de métodos, na referida classe, que realizem tal tarefa: os getters e os setters. Este recurso, que é um dos fundamentos do paradigma das linguagens orientadas a objetos, é conhecido como: encapsulamento herança sobrecarga de método polimorfismo implementação de interface Mecanismo utilizado em orientação a objetos para obter segurança, modularidade e autonomia dos objetos. Este conceito refere-se a(o): Herança Múltipla Condicional Herança Método Encapsulamento O Encapsulamento é o mecanismo utilizado em orientação a objetos para obter segurança, modularidade e autonomia dos objetos através dos modificadores. Marque a questão que apresenta a abrangência do modificador protected. Acessado de qualquer lugar. Acessado na classe e no pacote. Acessado no pacote e na subclasse. Acessado na classe, no pacote e na subclasse. Acessado apenas na classe e na subclasse. Como se instancia um objeto em Java? Classe objeto = Construtor(); Construtor objeto = new Classe; Classe objeto = new Construtor(); Construtor objeto = new Classe(); Classe objeto = new Construtor; 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 I, II e III 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 e II são corretas. Somente as afirmativas II, III e IV são corretas. (CESPE - 2013 - TRE-MS) Assinale a opção correta quanto à abordagem conceitual de abstração sob o paradigma de programação orientada a objetos. 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 é 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. 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. 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 this final int SIZE :=10 this extend integer SIZE := 10 static final int SIZE = 10 static extend integer SIZE = 10 Classes e objetos são dois conceitos-chave da programação orientada a objetos. Com relação a estes conceitos, é correto afirmar que: uma classe é uma abstração de alguma coisa no domínio de um problema ou na sua implementação, refletindo a capacidade de um sistema para manter informações sobre ela, interagir com ela ou ambos. uma classe é uma descrição de um ou mais objetos por meio de um conjunto uniforme de atributos e operações. uma classe é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ela, assim como se relacionar e enviar mensagens a outras classes. herança é o mecanismo pelo qual um objeto pode estender outro objeto da mesma classe, aproveitando seus comportamentos e variáveis possíveis. um objeto em uma classe é apenas uma definição, pois a ação só ocorre quando o objeto é invocado através de um método. Para realizar uma tarefa em um programa é necessário um método. Os métodos descrevem os mecanismos que realmente realizam suas tarefas. Os métodos ocultam de seus usuários as tarefas complexas que ele realiza, por exemplo o pedal acelerador de um carro oculta dos motoristas os complexos mecanismos que fazem o carro andar mais rápido. Em Java primeiro criamos uma unidade de programa chamada classe para abrigar um método, assim como os desenhos de engenharia de um carro abrigam o projeto de um pedal acelerador. Em uma classe você fornece um ou mais métodos que são projetados para realizar as tarefas da classe. Portanto marque a alternativa CORRETA referente aos métodos de uma classe. Nem todo parâmetro precisa especificar necessariamente o tipo ou o identificador. No momento em que um método é chamado , seus argumentos são atribuídos a seus parâmetros. Então o corpo do método utiliza as variáveis de parâmetro para acessar os valores de argumento. O número de argumentos na chamada de um método não precisa necessariamente corresponder ao número de parâmetros definidos no método. Um método pode especificar múltiplos parâmetros, separando cada parâmetro do seguinte por um ponto e vírgula. Em geral você pode chamar um método de uma classe, mesmo sem ter criado um objeto desta classe. Durante o desenvolvimento de uma aplicação orientada a objetos com Java, um Técnico criou uma interface para obrigar um conjunto de classes de diferentes origens a implementar certos métodos de maneiras diferentes, viabilizando a obtenção de polimorfismo. A interface criada pelo Técnico pode ser instanciada diretamente. possuir um único construtor vazio. possuir métodos abstratos. conter variáveis e métodos privados. conter métodos implementados. 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: 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. Todos os métodos são implicitamente públicos e abstratos. Métodos abstratos não possui corpo. Nenhum objeto pode ser instanciado para uma classe abstrata. Para uma classe ser abstrata, ela precisa ter pelo menos um método abstrato. 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. Nenhuma sentença é verdadeira. Apenas as a sentença I e III são verdadeiras. Apenas as sentenças II e III são verdadeiras. Analise as classes Teste e Animal e depois dê o que se pede. public class Teste { public void imprime() { System.out.println("*"); } public void imprime(int n) { for (int i = 1; i <= n; i++) System.out.println("*"); } } public class Animal { public void emiteSom() { System.out.println("???"); } } public class Gato extends Animal { public void emiteSom() { System.out.println("miado"); } } public class Cachorro extends Animal { public void emiteSom() { System.out.println("latido"); } } O que ocorre, respectivamente, nas classes Teste e Animal é : sobrescrita e polimorfismo sobrecarga e overload sobrecarga e override overload e herança múltipla sobrescrita e herança Na programação orientada a objetos, o conceito de polimorfismo indica que: o código de cada operação tem um limite máximo no número de linhas de código. uma certa operação de uma classe pode nem sempre ativar o mesmo método. o nome dos métodos deve ser composto por, no máximo, 8 caracteres. cada classe tem uma limitação quanto ao número de atributos que a compõe. o nome das classes deve ser composto por, no máximo, 20 caracteres. Considere A, B, C e D quatro classes Java declaradas conforme o seguinte: public interface A{ public void abstract metodoX( ); } public class B implements A{ . . . } public class C{ B objetoB=new B( ); public void metodoY( ){ public class D{ . . .} } } Assinale a alternativa incorreta A classe B, sendo concreta, é classe anônima para a classe C. A classe D é classe local para a classe C. A classe B, para ser concreta, deve implementar o metodoX( ). Não é possível instanciar A. A classe C possui uma classe aninhada. 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 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 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, 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 Qual(is) saída(s) após a execução do código abaixo? class Primeira { int x = 20; void Calc(int aux1) { x*=aux1; } } class Segunda extends Primeira { void Calc(int aux2) { x+=aux2; } } class Terceira extends Segunda { String a = "Sistema de Informação"; } class Testando { public static void main(String[] args) { Terceira t = new Terceira(); Primeira p = new Primeira(); t.Calc(3); System.out.print(t.x+" "+p.x); } } 23 20 20 3 Sistema de Informação 20 20 23 23 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 _________. sobrecarga, herança sobrecarga, sobrescrição sobrescrição, encapsulamento polimorfismo, herança sobrescrição, sobrecarga 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 código não executará, com erro no construtor 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 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 argumento da chamada do método addActionListener para o objeto referenciado por b é uma classe interna anônima o símbolo b não poderia ser referenciado dentro do método main porque este não faz parte da classe Q4Class O Java fornece uma infinidade de funcionalidades para prover comunicação humano- computador, ou melhor, para desenvolver interfaces. Sobre as bibliotecas para desenvolver interface de interação com o Java, analise e marque a assertiva correta: I. São fornecidas duas bibliotecas para desenvolver um GUI - O java.awt (Abstract Window Toolkit) e o javax.swing; II. São exemplos de elementos ou componentes atômicos, ou seja, que não permitem conter outros elementos: JFrame, JPanel, JButton e JLabel; III. Posicionamento e tamanho dos componentes Java Swing são controlados por LayoutManager¿s; IV. Java usa um elemento próprio para controle das ações ou eventos e não fazem uso de listeners para processar eventos. Apenas I; Apenas I e III; Apenas I, II e III; Apenas I e IV; I, II, III e IV. Dos componentes do Swing, apresentados abaixo, marque aquele que mostra uma área com um texto curto ou uma imagem, ou mesmo ambos, mas não reage a eventos de entrada JTextField JLabel JPasswordField JButton JTextArea Qual é o método utilizado para incluir uma barra de menu em um JFrame? addJMenuBar addJMenuItem setJPopupMenu setJMenuBar setJMenuItem 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: b e d c a Na linguagem Java, quase todos os componentes propagam eventos. Estes eventos devem ser tratados em algum ponto do código da aplicação. Os eventos nunca são tratados no próprio componente. Para ligar o código do tratamento de eventos ao componente existem, no Java, um conjunto de interfaces chamadas: Interface FlowLayout Container Action Listener 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: actionEvent ActionListener abstractClass actionPerformed ItemListener 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. addActionListener; actionPerformed; getSource addActionListener; handler; getSource add; addActionListener; handler actionPerformed;add; getSource getSource; handler; actionPerformed 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. getActionCommand ActionListener addActionListener ActionPerformed ActionEvent Os componentes Swing podem gerar vários tipos de eventos diferentes. Quando um evento ocorre, o gerenciador de janelas cria um evento e passa para um tratador de eventos definido pelo programador. O fragmento de código responsável por implementar métodos dentro da interface ActionListener é: public void actionListenet(ActionEvent e) public void actionStateChanged(ActionEvent e) public void itemStateChanged(ActionEvent e) public void itemPerformed(ActionEvent e) public void actionPerformed(ActionEvent e) 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 associa-se a estes componentes diversos tipos de eventos. estes componentes gráficos são estáticos e não efetuam eventos. não se pode associar nenhuma ação a esses comonentes gráficos.não existe uma classe adaptadora (adapter) para este tipo de evento. existem diversos adapters (classes adaptadoras) para este tipo de evento. 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. 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. 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. A palavra reservada _______ indica que um método pode lançar uma exceção. A palavra reservada _______ lança uma exceção. A palavra reservada ______ marca o início de um código de tratamento de exceção. throws; try; catch throws; throw; catch try; catch; finally throw; throws; catch try; throw; catch 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 NullPointerException IndexOutOfBoundsException ArithmeticExceptiocn IOException 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. No Java é permitido colocar uma lista de parâmetros de exceção separados por vírgulas para um mesmo bloco catch. O Java permite colocar qualquer código entre um bloco try e seus blocos catch correspondentes. 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 garante que o um bloco finally executará se um bloco try fechar utilizando uma instrução return, break ou continue. 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 executado apenas se não ocorrer nenhuma situação de exceção, independentemente de qual seja esta situação excepcional. um programa seja travado e destravado a medida que as instruções forem sendo executadas. um programa seja finalizado independetemente de haver ou não uma situação de exceção. um programa continue executando como se nenhum problema tivesse sido encontrado. 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 Apenas as sentenças I, III e IV estão corretas. Apenas a sentença I está correta. Apenas as sentenças II e III estão corretas. Todas as sentenças estão corretas. Apenas as sentenças I,II e III estão corretas. 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 raise throw throws throwable 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, é: RunTimeException Error Exception Throwable VirtualMachineErros Marque a afirmativa correta sobre o tratamento de exceções em Java. Tratamento de exceção não é utilizado quando os erros ocorrem. 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. O tratamento de exceção só captura erros de compilação. 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: 0 Não apresenta resultado de saída. Não compila devido a erro. Captura a exceção e apresenta a mensagem "Erro!" Apresenta a mensagem "Divisão por Zero." O estudo sobre interfaces gráficas é um ponto muito importante dentro da área de desenvolvimento de sistemas. Dentro da linguagem java,existem dois pacotes muito utilizados na programação de programas para desktop chamados java.awt e java.swing. De acordo com o material e o que foi visto em aula, as toolbars devem ser criadas dentro de um container: com o LayoutBorderToolBars. com o LayoutBorder. com o BorderToolBars. com o BorderLayout. com o BorderToolBarsItem. Pode-se dizer sobre exceções que: Marque a alternativa correta. throws é o comando responsável pela implementação de uma 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 são as principais classes de exceções Java: NullPointerException, offExcecpion e onException é obrigatório utilizar o comando finally em todos tratamentos de exceção o tratamento de exceção deve ser feito em todos os casos em que haja probabilidade de ocorrer um erro. Por qual motivo é utilizado o bloco try...catch. Auditar código. Realizar tentativas de execução. Tratar e recuperar erros. Polimorfismo. Fazer depuração de códigos. O gerenciador _____________ coloca os componentes em até 5 áreas: top (su- perior), bottom (inferior), left (esquerda), right (direita) ecenter (centro). Todo espaço extra é colocado na área central. Bloco Try-Catch #Include NameSpace Exception BorderLayout O estudo sobre interfaces gráficas é um ponto muito importante dentro da área de desenvolvimento de sistemas. Dentro da linguagem java,existem dois pacotes muito utilizados na programação de programas para desktop chamados java.awt e java.swing. De acordo com o material e o que foi visto em aula, um gerenciador de layout é um objeto que implementa a interface: Que verifica se o Finally faz parte ou não da execução de um BoxLayout pelo componente container. FlowLayout que tem como objetivo checar se o bloco de repetição atingiu uma determinada condição e faz o desvio para um container de componentes do usuário. Exception e determina o loop de código dentro de um container. Try - Catch que efetua a validação entre um código e a posição de um componente fora de um container. LayoutManager e determina o tamanho e posição dos componentes dentro de um container. O _______________ é o gerenciador de layout padrão para todos os JPanel. Ele simplesmente posiciona os componentes em uma linha simples, começando uma nova linha se o container não for largo o suficiente. Bloco Try-Catch #Include NameSpace Exception FlowLayout 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,1. Imprime no console: 1,1,2. Imprime no console: 1,1,3. Imprime no console: 2,2,3. O programa não compila.
Compartilhar