SlideShare une entreprise Scribd logo
1  sur  46
Visão Geral de Java
Arthur Emanuel de Oliveira Carosia
Java utiliza do conceito de máquina virtual, onde existe, entre o sistema
operacional e a aplicação, uma camada extra responsável por "traduzir" -
mas não apenas isso - o que sua aplicação deseja fazer para as
respectivas chamadas do sistema operacional onde ela está rodando no
momento.
A Aplicação roda sem nenhum envolvimento com o sistema operacional.
Sempre conversando apenas com a Java Virtual Machine (JVM).
JVM = Máquina Virtual Java.
JRE = Java Runtime Environment, ambiente de
execução Java, formado pela JVM e bibliotecas, tudo
que você precisa para executar uma aplicação Java.
JDK = Java Development Kit: Kit de
desenvolvimento do Java SE (Standard Edition). Ele é
formado pela JRE somado a ferramentas, como o
compilador.
Compilando:
Javac MeuPrograma.java
Rodando:
Java MeuPrograma
Tipos de Dados Primitivos
Boolean
Char
Byte
Short
Int
Long
Float
Double
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
}
}
Classe Scanner
Classe utilizada para captura de dados do teclado via prompt de comandos.
Importar
Import java.util.Scanner
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)
};
Classe Scanner
Import java.util.Scanner;
public class Exemplo {
public static void main (String[] args) {
Scanner leitor = new Scanner(System.in);
//Ler um Texto
String nome = leitor.nextLine();
//ler um numero
int idade = leitor.nextInt();
}
}
Fluxos de Controle – Condicionais
if (expressão boleana) {
instruções;
} else {
instruções;
}
switch (variável) {
case valor :
Instruções
break;
default:
instruções
}
Fluxos de Controle - Laços
for (inicializa; expressão booleana; altera) {
instruções;
}
for(T elemento: elementos){
instruções;
}
while ( condição ){
instruções;
}
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)-ésimo
elemento (ex: 8 = 5 + 3).
Exercícios
Orientação a Objetos
Conceitos Básicos
Classes
Definição para objetos.
Uma classe define o que um objeto pode ter e
o que ele pode fazer.
Conceitos Básicos
Classes
Definição para objetos.
Uma classe define o que um objeto pode ter e
o que ele pode fazer.
Objetos
Uma instancia de uma classe.
Possuem estado e comportamento.
Conceitos Básicos
Classes
Definição para objetos.
Uma classe define o que um objeto pode ter e
o que ele pode fazer.
Objetos
Uma instancia de uma classe.
Possuem estado e comportamento.
Atributos
Um elemento dados de um objeto. Variável de instancia.
Métodos
Um elemento de comportamento de um objeto.
Cachorro01
-Totó
-3.5
-Branco
Latir()
Abanar()
Classes em Java
[<declaracaoPacote>]
[<declaracaoImport>]
<modificadores> class <NomeClasse> {
[<modificadores>] <tipo> <nome> =[<valorInicial>];
[<modificador>] <NomeClasse> ([<listaArgumentos>])
{
[<instruções>]
}
[<modificadores>] <tipoRetorno> <nome>
([<listaArgumentos>]) {
[<instruções>]
}
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;
}
}
Conceitos Básicos
Encapsulamento
Oculta elementos da implementação de uma classe,
porém fornecendo uma interface publica para acesso.
Conceitos Básicos
Herança
Extensão
Acrescenta novos métodos aos já herdados
Sobreposição
Redefine os métodos implementados previamente
Conceitos Básicos
Polimorfismo
Caracterizado quando duas ou mais classes distintas tem métodos de
mesmo nome, de forma que uma função possa utilizar um objeto de
qualquer uma das classes polimórficas, sem necessidade de tratar
de forma diferenciada conforme a classe do objeto.
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.
Objetos
Um programa Orientado a Objetos possui:
objetos se comunicando através de troca de mensagens.
Classese Objetos
Classes vs Objetos
Aluno
-nome
-matrícula
-situação escolar
Aluno01
-”José”
-01
-”matriculado”
Instância
Método Construtor
Usado para inicializar um novo objeto
Modificadores de Acesso
Os modificadores de acesso são palavras-chave que
modificam a forma como podem ser acessadas as
classes, métodos e/ou variáveis.
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;
}
MétodosEstáticos
Métodos que podem ser utilizados sem
necessidade de instanciar uma classe
System.out.println(“Método estático”);
MétodosEstáticos
class Matemática {
public static int Soma(int v1, int v2)
{
return v1 + v2;
}
}
Int valor = Matematica.Soma(1,4)
Exercícios
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.
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
Exercícios
• Adicione o modificador de visibilidade (private, se necessário) para cada atributo
e 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 do
Funcionario durante a criação do objeto. Utilize construtores para obter esse
resultado.
• Adicione um atributo na classe Funcionario de tipo int que se chama
identificador. Esse identificador deve ter um valor único para cada instância do tipo
Funcionario. 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. Como
funcionário é uma pessoa física, faça com que a classe funcionário herde a classe
Pessoa Física.
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.
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 área
método que retorna a circunferência
Use java.lang.Math.PI (Math.PI)
Sobrescreva o metodo toString para retornar o raio e a
origem
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.
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().
Exercícios
Altere a classe Circulo para que ela estenda (herde) Figura.
Faça as alterações necessárias
Implemente o método desenhar() retornando o nome da
figura e a cor.
Implemente um construtor Circulo(String cor)
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()
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
Visão Geral de Java
Arthur Emanuel de Oliveira Carosia

Contenu connexe

Tendances

Java Básico :: Classe Vector
Java Básico :: Classe VectorJava Básico :: Classe Vector
Java Básico :: Classe VectorWesley R. Bezerra
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/Rodrigo Vieira
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)Mario Sergio
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IVGabriel Faustino
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - JavaArthur Emanuel
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 

Tendances (20)

Java Básico :: Classe Vector
Java Básico :: Classe VectorJava Básico :: Classe Vector
Java Básico :: Classe Vector
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Java6
Java6Java6
Java6
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Java8
Java8Java8
Java8
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
v
vv
v
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Java11
Java11Java11
Java11
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 

En vedette

Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...Maurício V.Pires
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)marconesilfer
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informáticasocrahn
 

En vedette (6)

Aula UML e Java
Aula UML e JavaAula UML e Java
Aula UML e Java
 
Data models
Data modelsData models
Data models
 
Dbms models
Dbms modelsDbms models
Dbms models
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
 

Similaire à Java - Visão geral e Exercícios

Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaArthur Emanuel
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetosunifesptk
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IFabio Moura Pereira
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Thiago Dieb
 
Coleções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsDenis L Presciliano
 

Similaire à Java - Visão geral e Exercícios (20)

Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Aula5
Aula5Aula5
Aula5
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
modulo1.pdf
modulo1.pdfmodulo1.pdf
modulo1.pdf
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
 
Working with legacy code 3
Working with legacy code 3Working with legacy code 3
Working with legacy code 3
 
Java5
Java5Java5
Java5
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte I
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0
 
Java 14
Java 14Java 14
Java 14
 
Coleções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e Strings
 

Plus de Arthur Emanuel

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningArthur Emanuel
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosArthur Emanuel
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com FacebookArthur Emanuel
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaArthur Emanuel
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuArthur Emanuel
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomArthur Emanuel
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoArthur Emanuel
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosArthur Emanuel
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoArthur Emanuel
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoArthur Emanuel
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioArthur Emanuel
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, FormulárioArthur Emanuel
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPSArthur Emanuel
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo WebservicesArthur Emanuel
 

Plus de Arthur Emanuel (20)

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
 
CSS 3
CSS 3CSS 3
CSS 3
 
CSS
CSSCSS
CSS
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
 
HTML - Introducao
HTML - Introducao HTML - Introducao
HTML - Introducao
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
 
Android - Bluetooth
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
 
Java: Collections
Java: CollectionsJava: Collections
Java: Collections
 

Dernier

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Dernier (9)

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Java - Visão geral e Exercícios

  • 1. Visão Geral de Java Arthur Emanuel de Oliveira Carosia
  • 2.
  • 3.
  • 4. Java utiliza do conceito de máquina virtual, onde existe, entre o sistema operacional e a aplicação, uma camada extra responsável por "traduzir" - mas não apenas isso - o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional onde ela está rodando no momento. A Aplicação roda sem nenhum envolvimento com o sistema operacional. Sempre conversando apenas com a Java Virtual Machine (JVM).
  • 5. JVM = Máquina Virtual Java. JRE = Java Runtime Environment, ambiente de execução Java, formado pela JVM e bibliotecas, tudo que você precisa para executar uma aplicação Java. JDK = Java Development Kit: Kit de desenvolvimento do Java SE (Standard Edition). Ele é formado pela JRE somado a ferramentas, como o compilador.
  • 7.
  • 8.
  • 9. Tipos de Dados Primitivos Boolean Char Byte Short Int Long Float Double
  • 10. 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 } }
  • 11. Classe Scanner Classe utilizada para captura de dados do teclado via prompt de comandos. Importar Import java.util.Scanner
  • 12. 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) };
  • 13. Classe Scanner Import java.util.Scanner; public class Exemplo { public static void main (String[] args) { Scanner leitor = new Scanner(System.in); //Ler um Texto String nome = leitor.nextLine(); //ler um numero int idade = leitor.nextInt(); } }
  • 14. Fluxos de Controle – Condicionais if (expressão boleana) { instruções; } else { instruções; } switch (variável) { case valor : Instruções break; default: instruções }
  • 15. Fluxos de Controle - Laços for (inicializa; expressão booleana; altera) { instruções; } for(T elemento: elementos){ instruções; } while ( condição ){ instruções; }
  • 16. 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)-ésimo elemento (ex: 8 = 5 + 3). Exercícios
  • 18. Conceitos Básicos Classes Definição para objetos. Uma classe define o que um objeto pode ter e o que ele pode fazer.
  • 19. Conceitos Básicos Classes Definição para objetos. Uma classe define o que um objeto pode ter e o que ele pode fazer. Objetos Uma instancia de uma classe. Possuem estado e comportamento.
  • 20. Conceitos Básicos Classes Definição para objetos. Uma classe define o que um objeto pode ter e o que ele pode fazer. Objetos Uma instancia de uma classe. Possuem estado e comportamento. Atributos Um elemento dados de um objeto. Variável de instancia. Métodos Um elemento de comportamento de um objeto. Cachorro01 -Totó -3.5 -Branco Latir() Abanar()
  • 21. Classes em Java [<declaracaoPacote>] [<declaracaoImport>] <modificadores> class <NomeClasse> { [<modificadores>] <tipo> <nome> =[<valorInicial>]; [<modificador>] <NomeClasse> ([<listaArgumentos>]) { [<instruções>] } [<modificadores>] <tipoRetorno> <nome> ([<listaArgumentos>]) { [<instruções>] }
  • 22. 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; } }
  • 23. Conceitos Básicos Encapsulamento Oculta elementos da implementação de uma classe, porém fornecendo uma interface publica para acesso.
  • 24. Conceitos Básicos Herança Extensão Acrescenta novos métodos aos já herdados Sobreposição Redefine os métodos implementados previamente
  • 25. Conceitos Básicos Polimorfismo Caracterizado quando duas ou mais classes distintas tem métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto.
  • 26. 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.
  • 27. Objetos Um programa Orientado a Objetos possui: objetos se comunicando através de troca de mensagens.
  • 29. Classes vs Objetos Aluno -nome -matrícula -situação escolar Aluno01 -”José” -01 -”matriculado” Instância
  • 30. Método Construtor Usado para inicializar um novo objeto
  • 31. Modificadores de Acesso Os modificadores de acesso são palavras-chave que modificam a forma como podem ser acessadas as classes, métodos e/ou variáveis.
  • 32. 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; }
  • 33. MétodosEstáticos Métodos que podem ser utilizados sem necessidade de instanciar uma classe System.out.println(“Método estático”);
  • 34. MétodosEstáticos class Matemática { public static int Soma(int v1, int v2) { return v1 + v2; } } Int valor = Matematica.Soma(1,4)
  • 36. 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.
  • 37. 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
  • 38. Exercícios • Adicione o modificador de visibilidade (private, se necessário) para cada atributo e 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 do Funcionario durante a criação do objeto. Utilize construtores para obter esse resultado. • Adicione um atributo na classe Funcionario de tipo int que se chama identificador. Esse identificador deve ter um valor único para cada instância do tipo Funcionario. 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. Como funcionário é uma pessoa física, faça com que a classe funcionário herde a classe Pessoa Física.
  • 39. 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.
  • 40. 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 área método que retorna a circunferência Use java.lang.Math.PI (Math.PI) Sobrescreva o metodo toString para retornar o raio e a origem
  • 41. 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.
  • 42. 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().
  • 43. Exercícios Altere a classe Circulo para que ela estenda (herde) Figura. Faça as alterações necessárias Implemente o método desenhar() retornando o nome da figura e a cor. Implemente um construtor Circulo(String cor)
  • 44. 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()
  • 45. 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
  • 46. Visão Geral de Java Arthur Emanuel de Oliveira Carosia