Java Programação Orientada a Objetos
47 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é a função do operador instanceof?

  • Verificar se dois objetos são iguais.
  • Avaliar se uma instância pertence a uma classe, subclasse ou interface. (correct)
  • Obter a representação em string de uma classe.
  • Comparar referências de memória entre objetos.
  • Por que é importante redefinir o método equals em uma classe?

  • Para garantir que a comparação de objetos seja feita corretamente. (correct)
  • Para permitir o acesso ao endereço de memória de um objeto.
  • Para aumentar a eficiência da classe nas operações matemáticas.
  • Para que a classe possa ser convertida em string.
  • Qual é o resultado esperado da expressão a1 instanceof Object?

  • True, mas só se a classe A redefinir o método equals.
  • True, pois toda classe herda de Object. (correct)
  • False, porque Object não é uma superclasse de A.
  • False, pois a classe A não é uma instância de Object.
  • Qual das alternativas a seguir refere-se à relação de herança isA?

    <p>Classe A é um tipo de Classe B.</p> Signup and view all the answers

    Qual das afirmações sobre o método equals() é verdadeira?

    <p>Ele deve garantir uma relação de equivalência: reflexiva, simétrica e transitiva.</p> Signup and view all the answers

    O que acontece quando um novo objeto é criado com 'new Cliente()' após uma referência de um objeto existente ser atribuída a uma variável?

    <p>A referência ao primeiro objeto é perdida.</p> Signup and view all the answers

    Qual é a finalidade do código 'customer = new Customer();'?

    <p>Criar um novo objeto e atribuí-lo à variável customer.</p> Signup and view all the answers

    Qual a função do método setVisible(true) no contexto de um objeto JFrame?

    <p>Tornar a janela visível na tela.</p> Signup and view all the answers

    O que é reservado para a variável 'c' na linha 'Cliente c;'?

    <p>Uma referência para um objeto Cliente.</p> Signup and view all the answers

    Qual elemento deve ser incluído em um programa Java para garantir que os componentes gráficos funcionem corretamente?

    <p>Uma declaração import adequada.</p> Signup and view all the answers

    No exemplo de notação de estado de memória, qual é a função da notação?

    <p>Representar a relação entre variáveis e objetos na memória.</p> Signup and view all the answers

    Qual é o significado da linha 'jon = new Student("John Java");'?

    <p>Cria um novo objeto Student e armazena a referência na variável jon.</p> Signup and view all the answers

    O que representa myWindow.setSize(300, 200); no código?

    <p>Especifica as dimensões da janela em pixels.</p> Signup and view all the answers

    Qual é a estrutura básica de um programa Java representada no conteúdo?

    <p>Comentários, declarações import e declarações de classes.</p> Signup and view all the answers

    Ao declarar 'Vehicle car1;', o que está sendo feito?

    <p>Declaração de uma variável que pode referenciar um objeto Vehicle.</p> Signup and view all the answers

    Por que é relevante o uso de comentários em um programa Java?

    <p>Facilitam a leitura e manutenção do código.</p> Signup and view all the answers

    Qual é a diferença principal entre declaração e criação de um objeto?

    <p>Declaração não aloca memória, enquanto criação aloca.</p> Signup and view all the answers

    O que faz a instrução myWindow = new JFrame(); dentro do contexto do programa?

    <p>Cria um novo objeto JFrame.</p> Signup and view all the answers

    O que representa a linha 'cliente : Cliente' em um diagrama de programa?

    <p>Uma instância da classe Cliente.</p> Signup and view all the answers

    Qual é a função do método `setTitle(

    <p>Define o título exibido na barra de título da janela.</p> Signup and view all the answers

    O que a linha myWindow.setSize(300, 200); faz especificamente em termos de visualização?

    <p>Ajusta o tamanho da janela para 300 pixels de largura e 200 pixels de altura.</p> Signup and view all the answers

    Qual é o objetivo das regras de promoção em expressões mistas?

    <p>Converter o tipo da expressão para o operando de maior precisão.</p> Signup and view all the answers

    Como é realizada uma conversão explícita de tipo?

    <p>Através da sintaxe prefixando o operando com o tipo.</p> Signup and view all the answers

    O que ocorre quando uma expressão resulta em um valor que precisa ser promovido para um tipo mais preciso?

    <p>A promoção é feita automaticamente pelo compilador.</p> Signup and view all the answers

    Qual é a função da palavra reservada 'final' em relação a variáveis?

    <p>Indicar que um valor é imutável.</p> Signup and view all the answers

    O que acontece quando tentamos atribuir um valor com maior precisão a uma variável de menor precisão?

    <p>Um erro de compilação é gerado.</p> Signup and view all the answers

    Qual a diferença entre as operações de + em contextos diferentes?

    <p>Pode ser adição ou concatenação dependendo dos tipos dos operandos.</p> Signup and view all the answers

    Qual é o resultado de realizar a expressão (float) x / 3 se x for do tipo int?

    <p>O resultado é uma fração do tipo float.</p> Signup and view all the answers

    Qual das opções a seguir é um exemplo de declaração correta de uma constante?

    <p>final double PI = 3.14159;</p> Signup and view all the answers

    O que é o bloco finally utilizado para fazer?

    <p>Executar ações que devem ser realizadas independentemente de exceções.</p> Signup and view all the answers

    O que acontece se uma exceção for lançada dentro de um bloco try?

    <p>O controle será passado para o bloco catch correspondente.</p> Signup and view all the answers

    Como podemos propagar uma exceção em Java?

    <p>Adicionando a palavra-chave throws na assinatura do método.</p> Signup and view all the answers

    Qual afirmação é verdadeira sobre o método que lança uma exceção?

    <p>Ele pode ser a origem da exceção usando a palavra-chave throw.</p> Signup and view all the answers

    Qual é a função do bloco finally em relação aos blocos try e catch?

    <p>Executar após o bloco catch, independentemente do resultado.</p> Signup and view all the answers

    Qual é a consequência de não tratar uma exceção lançada em um método?

    <p>A exceção será propagada para o método chamador.</p> Signup and view all the answers

    Qual é a principal diferença entre capturar e propagar uma exceção?

    <p>Capturar permite resolver o problema; propagar transfere a responsabilidade.</p> Signup and view all the answers

    O que deve ser incluído na assinatura do método para indicar que ele pode lançar uma exceção?

    <p>A palavra-chave throws.</p> Signup and view all the answers

    Qual é o correto uso da palavra reservada 'extends' no contexto de listas em Java?

    <p>Designa a relação entre classes e interfaces.</p> Signup and view all the answers

    Quais métodos estão relacionados à modificação de uma lista em Java?

    <p>set, addAll, clear</p> Signup and view all the answers

    Qual das seguintes opções não é uma implementação da interface List?

    <p>TreeList</p> Signup and view all the answers

    Qual propriedade não é garantida por uma lista do tipo E?

    <p>A ordem dos elementos é sempre crescente.</p> Signup and view all the answers

    Ao usar a classe ArrayList, como podemos inicializar uma lista com capacidade inicial de 50?

    <p>ArrayList l1=new ArrayList(50);</p> Signup and view all the answers

    Qual método pode ser utilizado para consultar um elemento em uma lista no índice 0?

    <p>l2.get(0);</p> Signup and view all the answers

    Qual característica é verdadeira sobre a classe Stack?

    <p>Utiliza comportamento LIFO.</p> Signup and view all the answers

    Ao tentar acessar um índice fora dos limites de uma ArrayList, o que ocorre?

    <p>Lança uma exceção ArrayIndexOutOfBoundsException.</p> Signup and view all the answers

    Qual das seguintes operações é utilizada para inverter elementos em uma lista?

    <p>reverse();</p> Signup and view all the answers

    Qual método da coleção permite verificar se a lista está vazia?

    <p>isEmpty();</p> Signup and view all the answers

    Study Notes

    Introdução aos Objetos Orientados a Programação com Java

    • O livro apresenta uma introdução à programação orientada a objetos (POO) utilizando a linguagem Java.
    • A edição apresentada é a quinta.
    • O capítulo 2 aborda os conceitos básicos da programação em Java.

    Objetivos do Capítulo 2

    • Identificar os componentes básicos de um programa em Java.
    • Escrever programas simples em Java.
    • Descrever a diferença entre a declaração e a criação de objetos.
    • Descrever o processo de criação e execução de programas em Java.
    • Utilizar as classes padrão Date, SimpleDateFormat, String e Scanner.
    • Desenvolver programas em Java, usando a abordagem de desenvolvimento incremental.

    O Primeiro Programa em Java

    • O conceito central da programação orientada a objetos (POO) é ilustrado através do programa.
    • O programa exibe uma janela no ecrã com dimensões de 300x200 pixels e o título "My First Java Program".

    Programa Ch2Sample1

    • O programa exibe um exemplo completo de um programa em Java.
    • Apresenta a estrutura básica de um programa Java.
    • Inclui os comandos para declarar e utilizar um objeto do tipo JFrame.
    • O programa declara um JFrame chamado myWindow e define as suas propriedades como tamanho, título e visibilidade.

    Diagrama do Programa Ch2Sample1

    • Ilustra a relação entre o programa Ch2Sample1 e o objeto myWindow (JFrame).
    • Mostra como o programa usa os métodos do objeto JFrame para configurar a janela.

    Relação de Dependência

    • O diagrama simplificado mostra apenas a dependência entre o programa e o objeto JFrame.
    • Um programa dependente de outro fornece serviço/funcionalidade.
    • O exemplo apresentado indica como o programa Ch2Sample1 depende do objeto JFrame para exibir a janela.

    Declaração de Objetos

    • A declaração de um objeto define a variável e o tipo do objeto, sem a criação do objeto na memória.
    • O nome da classe tem de estar definido antes da declaração.

    Mais Exemplos de Declaração de Objetos

    • A lista mostra mais exemplos de declaração de objetos, com nome da classe e nome do objeto.
    • Ilustra o conceito de declaração de variáveis como identificadores de um objeto do tipo específico.

    Criação de Objetos

    • A criação de um objeto aloca espaço na memória para guardar o objeto.
    • A criação de objetos usa o operador new, seguido do nome da classe.

    Mais Exemplos de Criação de Objetos

    • A lista mostra exemplos de criação de objetos, incluindo argumentos passados na instanciação do objeto.

    Declaração vs. Criação

    • A declaração reserva memória para uma referência, mas não cria um objeto.
    • A criação aloca memória para o próprio objeto e estabelece a ligação entre a referência e o objeto.

    Estado da Memória vs. Programa

    • A primeira seção demonstra a representação do estado da memória.
    • Um diagrama de programa mostra a interação entre as partes do programa.

    Nomes vs. Objetos

    • O diagrama mostra a diferença entre nomes de variáveis e objetos do programa quando um objeto é criado com instruções diferentes.
    • Na criação com uma nova instrução, uma referência criada para o segundo objeto pode ignorar o primeiro.

    Enviar Mensagens

    • Mensagens são métodos de um objeto.
    • As mensagens enviadas especificam ações a serem executadas pelo objeto.

    Fluxo de Execução

    • Ilustra a sequência de passos executados pelo programa.
    • O comportamento do código é visualizado.
    • A sequência de execução do código para o programa de exemplo Ch2Sample1 é mostrada, com ênfase na declaração e na criação de objetos, e na utilização destes objetos para configurar o ecrã e exibir a janela.

    Componentes de um Programa

    • Um programa em Java é composto por comentários
    • declarações import,
    • e declarações de classes.

    Componente: Comentário

    • Os comentários fornecem informações adicionais e contexto a um programa.
    • Há três tipos de comentários, cada uma com uma sintaxe diferente.

    Correspondência de Marcadores de Comentários

    • Os comentários são marcados por símbolos específicos.
    • Cada tipo de comentário é descrito, usando a notação de exemplo.

    Três tipos de Comentários

    • Comentários em uma linha
    • Comentários multi-linhas
    • Comentarios javadoc

    Declaração de Importação

    • As declarações import trazem classes de outros pacotes para serem utilizadas no programa atual.
    • No exemplo, o pacote javax.swing é importado.

    Sintaxe e semântica das declarações de importação

    • A sintaxe correta para import classes, pacote e outras classes.

    Declaração de Classes

    • Uma definição de classe especifica comportamentos e atributos de objetos.
    • O comando class marca o início da definição de uma nova classe.

    Declaração de Métodos

    • Um método é uma rotina de instruções que realiza uma tarefa específica, contida dentro de uma classe.
    • Os métodos são formados por um conjunto de instruções entre chaves ({}).

    Elementos da Declaração de Métodos

    • As partes de um método, como modificador, tipo de retorno, nome, e parâmetros, são descritas.

    Template para Programas Elementares em Java

    • Mostra como estruturar um programa Java que apresenta uma janela como exemplo.

    Por que usar classes padrão?

    • Reutilizar objetos existentes evita recriar funcionalidades já existentes nas classes padrão.

    Standard Output

    • O System.out.println() é usado para imprimir dados na saída padrão..

    Uso do método print

    • O método print adiciona sequência de dados a partir da posição atual de saída padrão.

    Using the println Method

    • O método println adiciona sequência de dados e pula linha na saída padrão.

    A classe String

    • A classe String em Java armazena sequências de caracteres.
    • Inclui vários métodos (aproximadamente 50).

    As Strings são Objetos

    • Os valores de String são objetos alocados dinamicamente em memória.

    Indexação de Strings

    • Cada caractere de uma String tem um índice.
    • O primeiro índice é 0.
    • O índice indica a posição do caractere na sequência.

    Definição de substring

    • Extrai uma subsequência especificada de uma string.
    • A sintaxe e função do método String.substring (i, j) são descritas, onde i e j são indexação na string.

    Exemplos de substring

    • Exemplos práticos de utilização do método substring sobre uma String, com resultado e/ou erro.

    Definição de length

    • O método length() retorna o número de caracteres de uma String.

    Exemplos de length

    • Mostram como usar o método length() em strings diferentes (vazia, com espaço, etc.) e os resultados correspondentes.

    Definição indexOf

    • Encontra a primeira ocorrência de uma substring dentro de uma string maior.
    • O índice/posição em que a substring é encontrada primeiro é retornado.

    exemplos de indexOf

    • Exemplos práticos de uso do método indexOf, com resultados e/ou erro.

    Definição: concatenação

    • O operador + executa concatenação de strings, resultando numa nova string que compreende os conteúdos originais.

    Exemplos:concatenação

    • Exemplos de como concatenar strings usando o operador +

    A classe Date

    • A classe Date representa uma data.
    • Ela define o momento atual do sistema como data inicial/padrão.

    SimpleDateFormat

    • A classe SimpleDateFormat permite a formatação de datas (do tipo Date) com formatos personalizados.

    Standard Input

    • A classe Standard Input permite a entrada de dados.
    • A classe Scanner é usada para capturar entrada do utilizador.

    Leitura do Standard Input

    • A captura de dados utiliza os métodos da classe Scanner para obter dados como strings e conversões.

    Especificação do Problema

    • Define o problema, que é a escrita de um programa em Java que recebe uma string com nome e dois apelidos, e retorna a primeira letra maiúscula de cada palavra.

    Plano Geral

    • Identifica as etapas/subtarefas necessárias para resolver o problema.

    Etapas de Desenvolvimento

    • Divide o problema/processo em dois passos, cada um relacionado com uma função/funções do pacote JCF.

    Resumo: Capítulo 2

    • O capítulo aborda a estrutura de um programa Java, como definir e criar objetos usando a linguagem Java, e a ideia de objetos dependerem de outros para a execução.

    Tipos Numéricos

    • No final da aula, os alunos devem ser capazes de selecionar corretamente os tipos numéricos (byte, short, int, long, float, double), avaliar expressões aritméticas com as regras de precedência, e gerar números aleatórios.
    • A classe Math no Java disponibiliza métodos matemáticos como sqrt (raiz quadrada), pow (elevação a uma potência), sin (seno) e max (valor máximo).

    Manipular Números

    • Em Java, a adição é representada pelo símbolo +.
    • As variáveis precisam de ser declaradas antes de serem usadas nestas expressões.

    Variáveis

    • Quando se declara uma variável, um espaço de memória é reservado para ela.

    Tipos de Dados Numéricos

    • O livro descreve os tipos de dados primitivos numéricos, como byte, short, int e long para inteiros e float e double para valores de ponto flutuante ou reais.
    • Existe inicialização imediata/padrão ao tempo da declaração, se necessário.

    Precisão

    • Há informações sobre a precisão de cada tipo de dados numéricos.

    Declaração de Atribuição/Afectação

    • As variáveis são atribuídas usando o operador =.

    Declaração e Afetação de Tipos Primitivos

    • O processo de declaração e atribuição de valores a variáveis do tipo primitivo é exposto.

    Afetação de Objetos

    • Quando se atribui um objeto a uma variável, o que é realmente atribuído é a referência "referência" para o objeto.

    Duas Referências ao mesmo Objeto

    • Demonstra que duas variáveis podem apontar para o mesmo objeto.
    • O operador == é usado para comparar as variáveis.

    Tipos Primitivos vs. Referências

    • Os tipos de dados primitivos como int e double guardam diretamente os valores.
    • Objetos guardam a referência a um outro espaço de memória onde o objeto está armazenado.

    Operadores Aritméticos

    • A tabela descreve operadores aritméticos (adição, subtração, multiplicação, divisão e resto da divisão inteira) na linguagem Java..

    Expressões Aritméticas

    • Regras de precedência para a avaliação de expressões aritméticas.
    • Parênteses têm prioridade na avaliação.

    Precedência de Regras

    • A precedência de operadores é uma regra para determinar a ordem de avaliação das expressões em algoritmos que utilizam múltiplos operadores de cálculo.

    Type Casting

    • Conversões entre tipos numéricos são discutidas/mostradas.
    • O tipo de uma expressão dependerá do tipo do operando com maior precisão.

    Conversão Implícita de Tipo

    • O sistema Java realiza conversões implícitas de tipo nos casos em que há misturas/compatibilidades.
    • Tipos com maior precisão são promovidos antes da atribuição.

    Constantes

    • Para definir constante, usa-se a palavra final.
    • Exemplo de constantes pre-definidas e como criar as suas próprias.

    Display de Valores Numéricos

    • O método print permite a exibição de valores int na saída padrão.

    (Overloaded) Sobre-carregamento do Operador +

    • O operador + tem comportamentos diferentes em relação à concatenação.
    • Uma string, concatenada a um inteiro, resulta numa nova string.

    Sample Code Fragment

    • Exemplo da utilização de código de cálculo/algorítmico para realizar o calculo de área, perímetro/circunferência de um círculo/círculo.

    A classe DecimalFormat

    • A classe DecimalFormat permite formatar valores numéricos, incluindo casas decimais.

    Leitura Stdin de dados numéricos

    • O livro explica como usar a classe Scanner para ler dados numéricos a partir da entrada padrão (teclado).

    Métodos da classe Scanner

    • A tabela lista alguns métodos (nextByte, nextDouble, nextInt) da classe Scanner, que servem para capturar dados de entrada padrão no teclado.

    A classe Math

    • Inclui métodos matemáticos como sqrt (raiz quadrada), pow (potência), sin (seno), etc.
    • O método max retorna o maior de dois parâmetros, como exemplo.

    Alguns métodos da classe Math

    • O livro apresenta alguns exemplos de métodos da classe Math e a sua função de uso.

    Calcular a altura de um poste

    • Fórmula e código para calcular a altura de um poste, com base numa relação angular.

    Geração de Números Aleatórios

    • A classe Random é usada para gerar números aleatórios, especificando o intervalo.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Teste seus conhecimentos sobre Programação Orientada a Objetos em Java. Esta quiz abrange tópicos importantes como operadores, métodos, herança e objetos. Prepare-se para responder perguntas técnicas e demonstrar sua compreensão da linguagem Java.

    Use Quizgecko on...
    Browser
    Browser