Java - Visão geral e Exercícios
-
Upload
arthur-emanuel -
Category
Technology
-
view
280 -
download
1
description
Transcript of Java - Visão geral e Exercícios
![Page 1: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/1.jpg)
Visão Geral de JavaArthur Emanuel de Oliveira Carosia
![Page 2: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/2.jpg)
![Page 3: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/3.jpg)
![Page 4: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/4.jpg)
Java utiliza do conceito de máquina virtual, onde existe, entre o sistemaoperacional e a aplicação, uma camada extra responsável por "traduzir" -mas não apenas isso - o que sua aplicação deseja fazer para asrespectivas chamadas do sistema operacional onde ela está rodando nomomento.A Aplicação roda sem nenhum envolvimento com o sistema operacional.Sempre conversando apenas com a Java Virtual Machine (JVM).
![Page 5: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/5.jpg)
JVM = Máquina Virtual Java.
JRE = Java Runtime Environment, ambiente deexecução Java, formado pela JVM e bibliotecas, tudoque você precisa para executar uma aplicação Java.
JDK = Java Development Kit: Kit dedesenvolvimento do Java SE (Standard Edition). Ele éformado pela JRE somado a ferramentas, como ocompilador.
![Page 6: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/6.jpg)
Compilando:Javac MeuPrograma.java
Rodando:Java MeuPrograma
![Page 7: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/7.jpg)
![Page 8: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/8.jpg)
![Page 9: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/9.jpg)
Tipos de Dados Primitivos
BooleanCharByteShortIntLongFloatDouble
![Page 10: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/10.jpg)
Tipos de Dados Primitivos
Public class TiposPrimitivos{public static void main(String[] args) {boolean liberado = true;char sexo = 'M';int I = 10;double d = 10.5;String nome = “Teste”; // não é primitivo, é uma classe}}
![Page 11: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/11.jpg)
Classe Scanner
Classe utilizada para captura de dados do teclado via prompt de comandos.
Importar Import java.util.Scanner
![Page 12: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/12.jpg)
Classe Array
String names[];names = new String[3];names[0] = "Georgianna";names[1] = "Jen";names[2] = "Simon"; Data data[];
datas = new Data[3];dates[0] = new Data(22, 7,1964);dates[1] = new Data(1, 1,2000);dates[2] = new Data(22,12,1964);
String names[] = {"Georgianna","Jen","Simon"};
Data dates[] = {new Data(22, 7, 1964),new Data(1, 1, 2000),new Data(22, 12, 1964)};
![Page 13: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/13.jpg)
Classe Scanner
Import java.util.Scanner;
public class Exemplo {public static void main (String[] args) {Scanner leitor = new Scanner(System.in);//Ler um TextoString nome = leitor.nextLine();
//ler um numeroint idade = leitor.nextInt();}}
![Page 14: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/14.jpg)
Fluxos de Controle – Condicionais
if (expressão boleana) {instruções;} else {instruções;}
switch (variável) {case valor :
Instruçõesbreak;default:instruções}
![Page 15: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/15.jpg)
Fluxos de Controle - Laços
for (inicializa; expressão booleana; altera) {instruções;}
for(T elemento: elementos){ instruções;
}
while ( condição ){ instruções;
}
![Page 16: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/16.jpg)
Faça um programa em Java para cada um das situações a seguir:
• Imprima todos os números de 150 a 300.
• Imprima a soma de 1 até 1000.
• Imprima todos os múltiplos de 3, entre 1 e 100.
• Imprima os fatoriais de 1 a 10.
•Imprima os primeiros números da série de Fibonacci até passar de 100. A série de Fibonacci é a seguinte: 0, 1, 1, 2, 3, 5, 8, 13, 21, etc... Para calculá-la, o primeiro elemento vale 0, o segundo vale 1, daí por diante, o n-ésimo elemento vale o (n-1)-ésimo elemento somado ao (n-2)-ésimoelemento (ex: 8 = 5 + 3).
Exercícios
![Page 17: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/17.jpg)
Orientação a Objetos
![Page 18: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/18.jpg)
Conceitos BásicosClassesDefinição para objetos.
Uma classe define o que um objeto pode ter e o que ele pode fazer.
![Page 19: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/19.jpg)
Conceitos BásicosClassesDefinição para objetos.
Uma classe define o que um objeto pode ter e o que ele pode fazer.
ObjetosUma instancia de uma classe. Possuem estado e comportamento.
![Page 20: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/20.jpg)
Conceitos BásicosClassesDefinição para objetos.
Uma classe define o que um objeto pode ter e o que ele pode fazer.
ObjetosUma instancia de uma classe. Possuem estado e comportamento.
AtributosUm elemento dados de um objeto. Variável de instancia.
MétodosUm elemento de comportamento de um objeto.
Cachorro01
-Totó-3.5-Branco
Latir()Abanar()
![Page 21: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/21.jpg)
Classes em Java
[<declaracaoPacote>][<declaracaoImport>]<modificadores> class <NomeClasse> {[<modificadores>] <tipo> <nome> =[<valorInicial>];[<modificador>] <NomeClasse> ([<listaArgumentos>]){[<instruções>]}[<modificadores>] <tipoRetorno> <nome>([<listaArgumentos>]) {[<instruções>]}
![Page 22: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/22.jpg)
Classes em Java
package br.com.mariojp.veiculo;public class Carro {private double cargaMaxima = 50.5;private double cargaAtual;public Carro(){cargaAtual = 10.5;}public double getCargaAtual(){return cargaAtual;}public void setCarga(double peso){cargaAtual = peso;}}
![Page 23: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/23.jpg)
Conceitos Básicos
EncapsulamentoOculta elementos da implementação de uma classe,porém fornecendo uma interface publica para acesso.
![Page 24: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/24.jpg)
Conceitos Básicos
HerançaExtensãoAcrescenta novos métodos aos já herdadosSobreposiçãoRedefine os métodos implementados previamente
![Page 25: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/25.jpg)
Conceitos Básicos
PolimorfismoCaracterizado quando duas ou mais classes distintas tem métodos demesmo nome, de forma que uma função possa utilizar um objeto dequalquer uma das classes polimórficas, sem necessidade de tratarde forma diferenciada conforme a classe do objeto.
![Page 26: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/26.jpg)
Objetos
Objetos são conceitos que têm identidade, estado e comportamento.
Pode-se pensar sobre o mundo real como uma coleção de objetos relacionados.
![Page 27: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/27.jpg)
Objetos
Um programa Orientado a Objetos possui:objetos se comunicando através de troca de mensagens.
![Page 28: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/28.jpg)
Classese Objetos
![Page 29: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/29.jpg)
Classes vs Objetos
Aluno
-nome-matrícula-situação escolar
Aluno01
-”José”-01-”matriculado”
Instância
![Page 30: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/30.jpg)
Método Construtor
Usado para inicializar um novo objeto
![Page 31: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/31.jpg)
Modificadores de Acesso
Os modificadores de acesso são palavras-chave que modificam a forma como podem ser acessadas asclasses, métodos e/ou variáveis.
![Page 32: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/32.jpg)
TratamentodeErros
try {instruções onde pode ocorrer uma Exceção;} catch (Tipo de Exceção instancia_erro) {instruções caso ocorra a Exceção;} finally {instruções que vão ocorrer sempre;}
declaracaoMetodo throws tipo Exceção{instruções onde pode ocorrer uma Exceção;}
![Page 33: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/33.jpg)
MétodosEstáticos
Métodos que podem ser utilizados sem necessidade de instanciar uma classe
System.out.println(“Método estático”);
![Page 34: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/34.jpg)
MétodosEstáticos
class Matemática {public static int Soma(int v1, int v2) {return v1 + v2;}}
Int valor = Matematica.Soma(1,4)
![Page 35: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/35.jpg)
Exercícios
![Page 36: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/36.jpg)
Exercícios
•Modele um funcionário. Ele deve ter o nome do funcionário, o
departamento onde trabalha, seu salário (double), a data de
entrada no banco (String) e seu RG (String).
•Você deve criar alguns métodos de acordo com sua
necessidade. Além deles, crie um método recebeAumento que
aumenta o salario do funcionário de acordo com o parâmetro
passado como argumento. Crie também um método
calculaGanhoAnual, que não recebe parâmetro algum,
devolvendo o valor do salário multiplicado por 12.
•A ideia aqui é apenas modelar, isto é, só identifique que
informações são importantes e o que um funcionário faz.
Desenhe no papel tudo o que um Funcionario tem e tudo que ele
faz.
![Page 37: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/37.jpg)
Exercícios• Transforme o modelo acima em uma classe Java. Teste-
a, usando uma outra classe que tenha o método main.
• Crie um método mostra(), que não recebe nem devolve parâmetro algum e simplesmente imprime todos os atributos do nosso funcionário.
• Em vez de utilizar uma String para representar a data, crie uma outra classe, chamada Data. Ela possui 3 campos int, para dia, mês e ano. Faça com que seu funcionário passe a usá-la.
• Modifique seu método mostra para que ele imprima o valor da dataDeEntrada daquele Funcionario
![Page 38: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/38.jpg)
Exercícios• Adicione o modificador de visibilidade (private, se necessário) para cada atributoe método da classe Funcionario.
• Crie os getters e setters necessários da sua classe Funcionario.
• Faça com que sua classe Funcionario possa receber, opcionalmente, o nome doFuncionario durante a criação do objeto. Utilize construtores para obter esseresultado.
• Adicione um atributo na classe Funcionario de tipo int que se chamaidentificador. Esse identificador deve ter um valor único para cada instância do tipoFuncionario. O primeiro Funcionario instanciado tem identificador 1, o segundo 2,e assim por diante.
• Crie uma classe chamada Pessoa Física, que possui o atributo inteiro CPF. Comofuncionário é uma pessoa física, faça com que a classe funcionário herde a classePessoa Física.
![Page 39: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/39.jpg)
Exercícios
Escreva uma classe Ponto que:contém x e y e que podem ser definidos em um construtor;Sobrescreva o metodo toString para retornar o x e o y.
![Page 40: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/40.jpg)
Exercícios
Escreva uma classe Circulo, que contenha:raio inteiro e origem do tipo Ponto,dois construtores que define origem e raio
Circulo(int x,int y, int raio)Cirtulo(Ponto ponto, int raio)método que retorna a áreamétodo que retorna a circunferênciaUse java.lang.Math.PI (Math.PI)Sobrescreva o metodo toString para retornar o raio e aorigem
![Page 41: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/41.jpg)
Exercícios
Escreva uma classe Teste que leia do teclado os atributos necessários para instanciar uma classe Ponto. Além disso, deve-se ler, também do teclado, os atributos necessários para instanciar 6 círculos. Esses círculos devem ser armazenados em um Array.
Por fim, exiba todos os círculos e também o ponto lido.
![Page 42: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/42.jpg)
Exercícios
4. Crie uma classe abstrata Figura que:contém o atributo String cor e por padrão a cor “branco”;tenha um método abstrato: String desenhar().
![Page 43: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/43.jpg)
Exercícios
Altere a classe Circulo para que ela estenda (herde) Figura.
Faça as alterações necessáriasImplemente o método desenhar() retornando o nome da figura e a cor.Implemente um construtor Circulo(String cor)
![Page 44: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/44.jpg)
Exercícios
Crie uma classe Quadrado que herda de Figura e implemente o método desenhar() .Implemente o construtor Quadrado(String cor)Implemente o construtor Quadrado()
![Page 45: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/45.jpg)
Jsp, Servlets e J2EE. André Temple, Rodrigo Fernandes de
Mello, Danival Taffarel Calegari and Maurício Schiezaro.
Disponível em: www.inf.ufsc.br/~bosco/downloads/livro-jsp-
servlets-j2ee.pdf.
W3Schools. Disponível em: http://www.w3schools.com/.
Apostila de Java. Caelum. Disponível em:
http://www.caelum.com.br/apostila-java-orientacao-objetos/.
DEITEL, Paul J.; DEITEL, Harvey M. Java - como
programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010.
Referências
![Page 46: Java - Visão geral e Exercícios](https://reader034.fdocuments.net/reader034/viewer/2022051016/559e59ea1a28aba7208b4816/html5/thumbnails/46.jpg)
Visão Geral de Java
Arthur Emanuel de Oliveira Carosia