Java - Visão geral e Exercícios

Arthur Emanuel
Arthur EmanuelProfessor - Instituto Federal de São Paulo em Instituto Federal de São Paulo
Visão Geral de Java
Arthur Emanuel de Oliveira Carosia
Java - Visão geral e Exercícios
Java - Visão geral e Exercícios
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
Java - Visão geral e Exercícios
Java - Visão geral e Exercícios
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
1 de 46

Recomendados

Java: Encapsulamento e modificadores de acesso por
Java: Encapsulamento e modificadores de acessoJava: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoArthur Emanuel
1.4K visualizações27 slides
Java: Introdução à Orientação a Objetos por
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosArthur Emanuel
698 visualizações51 slides
Java: Classes Abstratas, Anônimas, Interface por
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceArthur Emanuel
910 visualizações25 slides
Java: Introdução por
Java: IntroduçãoJava: Introdução
Java: IntroduçãoArthur Emanuel
199 visualizações43 slides
Java: Introducao ao Swing por
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao SwingArthur Emanuel
843 visualizações48 slides
Java: Heranca e polimorfismo por
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismoArthur Emanuel
682 visualizações30 slides

Mais conteúdo relacionado

Mais procurados

Java Básico :: Classe Vector por
Java Básico :: Classe VectorJava Básico :: Classe Vector
Java Básico :: Classe VectorWesley R. Bezerra
2K visualizações26 slides
Programação orientada a objetos – III por
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
1.2K visualizações12 slides
Java6 por
Java6Java6
Java6Robson Silva Espig
1.2K visualizações8 slides
Programação Orientação a Objetos - Herança por
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
1K visualizações31 slides
Java8 por
Java8Java8
Java8Robson Silva Espig
1.3K visualizações16 slides
Java - Aula 2 - Orientado a Objetos por
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
2.3K visualizações18 slides

Mais procurados(20)

Java Básico :: Classe Vector por Wesley R. Bezerra
Java Básico :: Classe VectorJava Básico :: Classe Vector
Java Básico :: Classe Vector
Wesley R. Bezerra2K visualizações
Programação orientada a objetos – III por Gabriel Faustino
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
Gabriel Faustino1.2K visualizações
Programação Orientação a Objetos - Herança por Daniel Brandão
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
Daniel Brandão1K visualizações
Java - Aula 2 - Orientado a Objetos por Moises Omena
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
Moises Omena2.3K visualizações
Revisão Sobre Programação Orientada a Objetos com Java por Mario Jorge Pereira
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 Pereira5.3K visualizações
http://www.dm.ufscar.br/~waldeck/curso/java/ por Rodrigo Vieira
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 Vieira661 visualizações
v por Rodrigo Vieira
vv
v
Rodrigo Vieira562 visualizações
Aula 02 - Principios da Orientação a Objetos (POO) por Daniel Brandão
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ão2K visualizações
Curso de Java (Parte 4) por Mario Sergio
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
Mario Sergio301 visualizações
Curso de Java (Parte 2) por Mario Sergio
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
Mario Sergio214 visualizações
JAVA - Orientação a Objetos por Elaine Cecília Gatto
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto4.4K visualizações
Programação orientada a objetos - IV por Gabriel Faustino
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
Gabriel Faustino1.4K visualizações
Programação orientada a objetos – II por Gabriel Faustino
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
Gabriel Faustino3.3K visualizações
Curso Java Básico - Aula02 por Natanael Fonseca
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
Natanael Fonseca641 visualizações
Encapsulamento em Orientação a Objetos por Daniel Brandão
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Daniel Brandão4.6K visualizações
Exercícios - Herança - Java por Arthur Emanuel
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
Arthur Emanuel3.9K visualizações
Introdução à análise orientada a objetos parte 1 por ariovaldodias
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
ariovaldodias1.1K visualizações

Destaque

Aula UML e Java por
Aula UML e JavaAula UML e Java
Aula UML e JavaIvan Ricarte
941 visualizações45 slides
Data models por
Data modelsData models
Data modelsAnuj Modi
18.8K visualizações10 slides
Dbms models por
Dbms modelsDbms models
Dbms modelsdevgocool
66.1K visualizações68 slides
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão... por
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
162.6K visualizações77 slides
Introdução à Informática (Módulo 1) por
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)marconesilfer
43.5K visualizações13 slides
1ª aula introdução a informática por
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informáticasocrahn
217.8K visualizações24 slides

Destaque(6)

Aula UML e Java por Ivan Ricarte
Aula UML e JavaAula UML e Java
Aula UML e Java
Ivan Ricarte941 visualizações
Data models por Anuj Modi
Data modelsData models
Data models
Anuj Modi18.8K visualizações
Dbms models por devgocool
Dbms modelsDbms models
Dbms models
devgocool66.1K visualizações
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão... por Maurício V.Pires
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.Pires162.6K visualizações
Introdução à Informática (Módulo 1) por marconesilfer
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
marconesilfer43.5K visualizações
1ª aula introdução a informática por socrahn
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
socrahn217.8K visualizações

Similar a Java - Visão geral e Exercícios

Sistemas Distribuídos - Aula 04 - Revisão de Java por
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
664 visualizações32 slides
Aula5 por
Aula5Aula5
Aula5fkimura
596 visualizações25 slides
Java e orientação a objetos - aula 01 por
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
107 visualizações26 slides
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos) por
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
2.1K visualizações27 slides
modulo1.pdf por
modulo1.pdfmodulo1.pdf
modulo1.pdfAlexandreMota34
2 visualizações127 slides
Curso Java Básico - Aula 03 por
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
845 visualizações38 slides

Similar a Java - Visão geral e Exercícios(20)

Sistemas Distribuídos - Aula 04 - Revisão de Java por Arthur Emanuel
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
Arthur Emanuel664 visualizações
Aula5 por fkimura
Aula5Aula5
Aula5
fkimura596 visualizações
Java e orientação a objetos - aula 01 por John Godoi
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
John Godoi107 visualizações
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos) por Adriano Teixeira de Souza
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 Souza2.1K visualizações
modulo1.pdf por AlexandreMota34
modulo1.pdfmodulo1.pdf
modulo1.pdf
AlexandreMota342 visualizações
Curso Java Básico - Aula 03 por Natanael Fonseca
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael Fonseca845 visualizações
Lista IV de Programação Orientada a Objetos por unifesptk
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
unifesptk358 visualizações
Aula 1 - Linguagem III por Juliano Weber
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
Juliano Weber482 visualizações
Java aula 2 por Endel Silva
Java aula 2Java aula 2
Java aula 2
Endel Silva493 visualizações
Curso Básico de Java - Aula 7 por PeslPinguim
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
PeslPinguim465 visualizações
Programação Web com PHP 7.x por Norton Guimarães
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
Norton Guimarães1.1K visualizações
Programação Concorrente - Gerenciamento de Threads - Parte I por Fabio Moura Pereira
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte I
Fabio Moura Pereira2K visualizações
05 poo-ii por Ialis Cavalcante
05   poo-ii05   poo-ii
05 poo-ii
Ialis Cavalcante757 visualizações
Minicurso de Lógica e Linguagem Java 6.0 por Thiago Dieb
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
Thiago Dieb1.8K visualizações
Coleções Propriedade, Resources e Strings por Denis L Presciliano
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e Strings
Denis L Presciliano888 visualizações
Aula2 por gueste0e2d
Aula2Aula2
Aula2
gueste0e2d333 visualizações

Mais de Arthur Emanuel

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning por
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
151 visualizações26 slides
Orientação a Objetos - Introdução - Exercícios por
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosArthur Emanuel
296 visualizações2 slides
Android - Integração com Facebook por
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com FacebookArthur Emanuel
331 visualizações23 slides
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia por
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaArthur Emanuel
229 visualizações30 slides
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu por
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
264 visualizações22 slides
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som por
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
283 visualizações36 slides

Mais de Arthur Emanuel(20)

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning por Arthur Emanuel
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
Arthur Emanuel151 visualizações
Orientação a Objetos - Introdução - Exercícios por Arthur Emanuel
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
Arthur Emanuel296 visualizações
Android - Integração com Facebook por Arthur Emanuel
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
Arthur Emanuel331 visualizações
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia por Arthur Emanuel
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Arthur Emanuel229 visualizações
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu por Arthur Emanuel
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
Arthur Emanuel264 visualizações
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som por Arthur Emanuel
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
Arthur Emanuel283 visualizações
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao por Arthur Emanuel
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
Arthur Emanuel311 visualizações
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos por Arthur Emanuel
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Arthur Emanuel240 visualizações
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo por Arthur Emanuel
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
Arthur Emanuel181 visualizações
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo por Arthur Emanuel
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
Arthur Emanuel288 visualizações
Desenvolvendo Jogos Para Android - Exercício por Arthur Emanuel
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
Arthur Emanuel214 visualizações
CSS 3 por Arthur Emanuel
CSS 3CSS 3
CSS 3
Arthur Emanuel267 visualizações
CSS por Arthur Emanuel
CSSCSS
CSS
Arthur Emanuel339 visualizações
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário por Arthur Emanuel
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
Arthur Emanuel1.1K visualizações
HTML - Introducao por Arthur Emanuel
HTML - Introducao HTML - Introducao
HTML - Introducao
Arthur Emanuel233 visualizações
Android - Google Maps por Arthur Emanuel
Android - Google MapsAndroid - Google Maps
Android - Google Maps
Arthur Emanuel205 visualizações
Android - Bluetooth por Arthur Emanuel
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
Arthur Emanuel270 visualizações
Android - Acelerometro e GPS por Arthur Emanuel
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
Arthur Emanuel368 visualizações
Android - Consumindo Webservices por Arthur Emanuel
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
Arthur Emanuel864 visualizações
Java: Collections por Arthur Emanuel
Java: CollectionsJava: Collections
Java: Collections
Arthur Emanuel510 visualizações

Último

Capturas microbit.docx por
Capturas microbit.docxCapturas microbit.docx
Capturas microbit.docxseruto231014
8 visualizações5 slides
Uma exposição em um centro de convenção precisa contabilizar os visitantes po... por
Uma exposição em um centro de convenção precisa contabilizar os visitantes po...Uma exposição em um centro de convenção precisa contabilizar os visitantes po...
Uma exposição em um centro de convenção precisa contabilizar os visitantes po...josecarlos413721
48 visualizações3 slides
Competências para extrair inovação na tecnologia! por
Competências para extrair inovação na tecnologia!Competências para extrair inovação na tecnologia!
Competências para extrair inovação na tecnologia!AnneliseGripp1
9 visualizações11 slides
Dimensions - Tutorial.pptx por
Dimensions  - Tutorial.pptxDimensions  - Tutorial.pptx
Dimensions - Tutorial.pptxbarbaraguerra088
29 visualizações29 slides
O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima... por
O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima...O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima...
O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima...josecarlos413721
7 visualizações4 slides
Um edifício é composto tanto de elementos estruturais — que são dimensionados... por
Um edifício é composto tanto de elementos estruturais — que são dimensionados...Um edifício é composto tanto de elementos estruturais — que são dimensionados...
Um edifício é composto tanto de elementos estruturais — que são dimensionados...josecarlos413721
14 visualizações2 slides

Último(10)

Capturas microbit.docx por seruto231014
Capturas microbit.docxCapturas microbit.docx
Capturas microbit.docx
seruto2310148 visualizações
Uma exposição em um centro de convenção precisa contabilizar os visitantes po... por josecarlos413721
Uma exposição em um centro de convenção precisa contabilizar os visitantes po...Uma exposição em um centro de convenção precisa contabilizar os visitantes po...
Uma exposição em um centro de convenção precisa contabilizar os visitantes po...
josecarlos41372148 visualizações
Competências para extrair inovação na tecnologia! por AnneliseGripp1
Competências para extrair inovação na tecnologia!Competências para extrair inovação na tecnologia!
Competências para extrair inovação na tecnologia!
AnneliseGripp19 visualizações
Dimensions - Tutorial.pptx por barbaraguerra088
Dimensions  - Tutorial.pptxDimensions  - Tutorial.pptx
Dimensions - Tutorial.pptx
barbaraguerra08829 visualizações
O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima... por josecarlos413721
O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima...O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima...
O setor de PCP faz a gestão dos estoques de produtos acabados, matérias-prima...
josecarlos4137217 visualizações
Um edifício é composto tanto de elementos estruturais — que são dimensionados... por josecarlos413721
Um edifício é composto tanto de elementos estruturais — que são dimensionados...Um edifício é composto tanto de elementos estruturais — que são dimensionados...
Um edifício é composto tanto de elementos estruturais — que são dimensionados...
josecarlos41372114 visualizações
Competências para extrair inovação na tecnologia! por Annelise Gripp
Competências para extrair inovação na tecnologia!Competências para extrair inovação na tecnologia!
Competências para extrair inovação na tecnologia!
Annelise Gripp15 visualizações
As ferramentas gerenciais da qualidade são estabelecidas para auxiliar a empr... por josecarlos413721
As ferramentas gerenciais da qualidade são estabelecidas para auxiliar a empr...As ferramentas gerenciais da qualidade são estabelecidas para auxiliar a empr...
As ferramentas gerenciais da qualidade são estabelecidas para auxiliar a empr...
josecarlos41372112 visualizações
A documentação de um programa é fundamental, independentemente da linguagem d... por josecarlos413721
A documentação de um programa é fundamental, independentemente da linguagem d...A documentação de um programa é fundamental, independentemente da linguagem d...
A documentação de um programa é fundamental, independentemente da linguagem d...
josecarlos41372112 visualizações
SciELO: O Guia. por susieconceicao118
SciELO: O Guia.SciELO: O Guia.
SciELO: O Guia.
susieconceicao11842 visualizações

Java - Visão geral e Exercícios

  • 1. Visão Geral de Java Arthur Emanuel de Oliveira Carosia
  • 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.
  • 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