SlideShare uma empresa Scribd logo
Professor
José de Assis
Professor
José de Assis
Um pouco da história – 1990
A ideia inicial era desenvolver um dispositivo wireless que
usava uma tela colorida sensível ao toque para controlar a
televisão, o som, alarmes e diversos dispositivos domésticos,
além de interagir com computadores. A linguagem Java foi
desenvolvida especialmente para este dispositivo.
Professor
José de Assis
Um pouco da história - 1995
Por estar muito a frente da época, este projeto não foi adiante,
o time então voltou a procurar alternativas para uso desta
tecnologia. A equipe decidiu entrar no mundo da internet,
criando um navegador capaz de suportar a linguagem Java.
Este navegador ficou conhecido como hotJava.
Professor
José de Assis
WORA
"Write once, run anywhere"
“Escreva uma vez, rode em qualquer lugar”. Este é o slogan
do Java e representa a sua maior vantagem que é a
portabilidade. Você escreve o código em Java e pode
executar no Windows, no Linux, no MAC, no sistema
Android, em Smartcards etc.
Professor
José de Assis
SISTEMA OPERACIONAL
JVM
Aplicação Java
Professor
José de Assis
Popularidade
Professor
José de Assis
Quem usa Java?
Professor
José de Assis
Back-end
Servlet
A linguagem Java é muito usada no mercado corporativo
para o desenvolvimento de aplicações WEB no back-end.
Professor
José de Assis
Android
A linguagem Java é usada para desenvolvimento de aplicações
nativas do sistema Android.
Professor
José de Assis
Sistema Desktop
O programa de declaração de imposto de renda é um
exemplo de sistema desktop desenvolvido em Java.
Professor
José de Assis
Games
Minecraft é um exemplo de jogo desenvolvido com a
linguagem Java.
Professor
José de Assis
Outros
O Java também é encontrado em Smartcards e em diversos
outros dispositivos como por exemplo sistemas de som, e
até mesmo na robótica.
Professor
José de Assis
Por onde começar ?
Para começar a desenvolver o Java é necessário instalar o
kit do desenvolvedor Java, também conhecido como JDK.
Professor
José de Assis
IDE
Para começar a desenvolver o Java, além do JDK é necessário
também instalar uma IDE. A IDE é um ambiente integrado de
desenvolvimento que contém um editor de código, um
compilador e um depurador.
Netbeans Eclipse
Professor
José de Assis
Fundamentos
do Java
Professor
José de Assis
VARIÁVEIS
Na programação utilizamos as variáveis para armazenar
dados na memória. Estes dados podem ser alterados de
acordo com o tempo, como por exemplo o armazenamento
do valor da idade.
Professor
José de Assis
Tipos de variáveis usadas no Java
Grupos Tipos primitivos Tamanho Valores válidos
Inteiros (números sem
casas decimais)
byte 1 byte -128 até 127
short 2 bytes -32768 até 32767
int 4 bytes -2147483648 até 2147483647
long 8 bytes
-9223372036854775808L até
9223372036854775808L
Flutuantes (números
com casas decimais)
float 4 bytes ±3.40282347E+38F
double 8 bytes ±1.79769313486231570E+308
Booleanos
(verdadeiro ou falso)
boolean 1 byte true ou false
Caractere (aceita
apenas um caractere)
char 2 bytes
1 caractere da tabela Unicode
(Ex: 'a')
Tipos não
primitivos
Descrição
String Uma cadeia de caracteres Unicode
Object Um objeto genérico
Professor
José de Assis
Criando variáveis no Java
Na linguagem Java devemos atribuir o tipo de variável de
acordo com os valores que serão armazenados. No Java
uma variável também não pode ser usada se não for
inicializada.
Professor
José de Assis
Nomeando variáveis
• O nome da variável deve começar com uma letra
minúscula
• Não usar caracteres especiais nem deixar espaços
• Não usar palavras chaves ou reservadas da linguagem
de programação
• Definir nomes que descrevam o tipo de informação
que as variáveis irão armazenar (clean code)
Professor
José de Assis
Operadores
Professor
José de Assis
Operadores Aritméticos
Operador Propósito Exemplo Resultado
= “Setar” uma variável i = 10 i = 10
+ Soma i = 10 + 5 i = 15
- Subtração i = 10 - 5 i = 5
* Multiplicação i = 10 * 5 i = 50
/ Divisão i = 10 / 5 i = 2
% Resto da divisão i = 10 % 5 i = 0
Professor
José de Assis
Operadores Aritméticos
ATRIBUIÇÕES
Operador Propósito Exemplo Resultado
i = 10
+= Somar o valor i += 5 i = 15
-= Subtrair o valor i -= 5 i = 10
*= Multiplicar o valor i *= 5 i = 50
/= Dividir o valor i /= 5 i = 10
++ Adicionar 1 ao valor i++ ( i = i + 1 ) i = 11
-- Subtrair 1 do valor i-- ( i = i - 1 ) I = 10
Professor
José de Assis
Operadores Comparativos
Operador Significado
> Maior que
>= Maior ou igual a
< Menor que
<= Menor ou igual a
== Igual a
!= Diferente de
Professor
José de Assis
Operadores Lógicos
ENTRADA 1 ENTRADA 2 SAÍDA
FALSO FALSO FALSO
FALSO VERDADEIRO FALSO
VERDADEIRO FALSO FALSO
VERDADEIRO VERDADEIRO VERDADEIRO
ENTRADA 1 ENTRADA 2 SAÍDA
FALSO FALSO FALSO
FALSO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO VERDADEIRO
VERDADEIRO VERDADEIRO VERDADEIRO
ENTRADA SAÍDA
FALSO VERDADEIRO
VERDADEIRO FALSO
AND &&
OR ||
NOT !
Professor
José de Assis
Estruturas de controle
• Estruturas de Controle Condicional
• Estruturas de Repetições (laços)
Estruturas de controle são blocos de código que analisam
os tipos de dados armazenados nas variáveis. As estruturas
de controle são processos básicos de tomada de decisões
das máquinas. Existem dois tipos de estruturas de controle:
Professor
José de Assis
Estruturas de controle
condicional
Professor
José de Assis
if – if else – else if
Professor
José de Assis
switch case
* Tipos de variáveis aceitas (int e char)
Professor
José de Assis
Estruturas de
repetições
Professor
José de Assis
for
Estrutura de repetição usada para repetir um bloco de
código envolvido por chaves. Um contador de incremento
é utilizado para terminar o loop. A inicialização ocorre
primeiro e apenas uma vez. A cada repetição do loop, a
condição é testada e se for verdadeira, o bloco de
comandos e o incremento são executados. Quando a
condição se torna falsa o loop termina.
Professor
José de Assis
while – do while
Um loop while se repetirá infinitamente enquanto a
condição dentro dos parênteses () for verdadeira. Algo
deve mudar a condição, ou o loop while nunca encerrará.
O loop do…while funciona da mesma forma que o loop
while, com a exceção da condição ser testada no final.
Professor
José de Assis
EXERCÍCIOS
Professor
José de Assis
Exercício 1
Nos Estados Unidos a temperatura em geral é medida
em uma escala denominada fahrenheit. Desenvolva uma
aplicação no console (terminal) que faça a conversão da
temperatura em Fahrenheit para Celsius.
Professor
José de Assis
Fórmula:
Variáveis: c,f (double)
Entrada: f
Processamento: c = (5 * (f – 32)) / 9
Saída: c
Professor
José de Assis
Exercício 2
Desenvolva uma aplicação no console (terminal) para
calcular o valor da porcentagem usando Regra de 3,
conforme modelo abaixo:
x% de y = valor
Exemplo: 10% de 200 = 20
Professor
José de Assis
Fórmula:
Variáveis: x,y,valor (double)
Entrada: x,y
Processamento: valor = (x * y) / 100
Saída: valor
x% de y = valor
y 100%
valor x%
valor = (x * y) / 100
Professor
José de Assis
Exercício 3
Desenvolva uma aplicação no console (terminal) de ponto
de vendas (PDV), conforme modelo abaixo:
▪ Valor total: 200,00
▪ Desconto(%): 5
▪ Total com desconto: 190,00 (valor calculado)
▪ Valor pago: 200,00
▪ Troco: 10,00 (valor calculado)
Professor
José de Assis
Variáveis: total, desconto, totalDesconto, valorPago, troco (double)
Entrada1: total, desconto
Processamento1: totalDesconto = total - (desconto * total) /100
Saída1: totalDesconto
Entrada2: valorPago
Processamento2: troco = valorPago - totalDesconto
Saída2: troco
Fórmulas:
Total com desconto = total - desconto
Troco = valor pago - total com desconto
Professor
José de Assis
Exercício 4
Desenvolva uma aplicação no console (terminal) para
calcular o valor da hora de um serviço, de acordo com a
fórmula abaixo:
remuneração mensal + impostos + custo operacional + investimentos
hora =
Carga horária mensal de trabalho
Impostos: 30% da remuneração mensal
Investimento: 20% da remuneração mensal
Professor
José de Assis
Variáveis: hora, remuneracao, custo, cargaHoraria (double)
Entrada: remuneracao, custo, cargaHoraria
Processamento:
hora = (remuneracao + (remuneracao * 0.3) + custo + (remuneracao * 0.2)) / cargaHoraria
Saída: hora
Fórmula
Professor
José de Assis
Exercício 5
Para carros flex é preciso ter cautela ao escolher o combustível na hora de
abastecer. A principal diferença de preços e vantagens entre os dois
combustíveis está na proporção preço X desempenho. Para o álcool ser
mais vantajoso do que a gasolina, o preço do litro tem que custar até 70%
do litro da gasolina. Baseado nestas informações desenvolva um aplicativo
no console (terminal) para determinar qual é o combustível mais vantajoso
para abastecer.
Professor
José de Assis
Variáveis: alcool, gasolina (double)
Entrada: alcool, gasolina
Processamento / Saída:
if (alcool < 0.7 * gasolina) {
//abastecer com álcool
} else {
//abastecer com gasolina
}
Professor
José de Assis
Exercício 6
Desenvolva um aplicativo no console (terminal) para calcular o valor do
IMC. O aplicativo deverá exibir além do valor do IMC a classificação de
acordo com a tabela abaixo:
Professor
José de Assis
Variáveis: peso, altura, imc (double)
Entrada: peso, altura
Processamento: imc = peso / (altura * altura)
Saída: imc
if
else if
Fórmula:
Professor
José de Assis
Exercício 7
Desafio:
Desenvolva o jogo “Pedra – Papel – Tesoura”, conforme modelo abaixo:
_______ JoKenPow _______
1. Pedra
2. Papel
3. Tesoura
Digite a opção desejada:
Jogador escolheu:
Computador escolheu:
VENCEDOR:
Professor
José de Assis
Variáveis: jogador, computador (int)
Entrada: jogador, computador
Processamento / Saída:
Professor
José de Assis
Exercício 8
Desenvolva um aplicativo no console (terminal) para calcular o valor da
tabuada. O aplicativo deverá perguntar qual é o valor da tabuada a ser
calculada.
Professor
José de Assis
Exercício 9
Desenvolva um aplicativo no console (terminal) para fazer o lançamento
de um dado de 6 faces. O aplicativo deverá executar um sorteio usando a
função Math.random(), exibindo a face do dado sorteada.
Após a exibição da face sorteada o aplicativo deverá perguntar se o
jogador deseja lançar o dado novamente. Se o jogador responder que sim
um novo lançamento do dado será executado.
Professor
José de Assis
Métodos
No Java os métodos são equivalentes as funções de outras
linguagens de programação e precisam sempre ser definidos
dentro de uma classe.
• main
• static
• void
Professor
José de Assis
POO
O Java e a maioria das linguagens de programação são
orientadas a objetos. Para um computador entender o que
é um objeto é necessário descrever as características do
objeto e também as ações que podem ser executadas.
Professor
José de Assis
Pilares
• Abstração
• Herança
• Polimorfismo
• Encapsulamento
Professor
José de Assis
Abstração
A abstração é usada para definir um modelo para a criação
dos objetos. Na linguagem Java usamos uma classe para
criar um modelo.
Professor
José de Assis
Classe Modelo
Para explicar uma classe modelo vamos fazer uma analogia
com a patente da Lego que descreve as características de um
bloco além de mostrar que é possível encaixar um bloco no
outro. Este modelo será usado para criar os objetos (blocos).
Professor
José de Assis
Objetos
Objetos são criados à partir da classe modelo. Percebam na
imagem que temos blocos de diferentes cores e tamanhos,
porém todos foram criados a partir de um modelo.
Professor
José de Assis
Exemplo
Professor
José de Assis
Bloco
resistencia : int
textura : String
construir() : void
minerar() : void
craftar() : void
Tipo
Classe
atributos
variáveis
ações
métodos
Classe Modelo
Professor
José de Assis
new
new
Bloco
resistencia : int
textura : String
construir() : void
minerar() : void
craftar() : void
Objetos
Professor
José de Assis
Herança
Na herança criamos uma subclasse da classe modelo
estendendo seus atributos e métodos com o objetivo de
criar outros tipos de objetos reutilizando atributos e
métodos da classe modelo.
Professor
José de Assis
Professor
José de Assis
Bloco
resistencia : int
textura : String
construir() : void
minerar() : void
craftar() : void
Enxada
conquista : boolean
new
arar() : void
Professor
José de Assis
Polimorfismo
Polimorfismo é a modificação do comportamento de um
método existente na classe modelo.
Professor
José de Assis
Bloco
resistencia : int
textura : String
construir() : void
minerar() : void
craftar() : void
Enxada
arar() : void
minerar() minerar()
))
Dano
conquista : boolean
_ - _
Recursos
Professor
José de Assis
POO – Exercício 1
Professor
José de Assis
Carro
ano : int
cor : String
ligar() : void
desligar() : void
acelerar() : void
Tipo
Classe
atributos
variáveis
ações
métodos
1) Criar a classe modelo
Professor
José de Assis
new
new
2) Criar dois objetos(carros)
Professor
José de Assis
new
new
3) Adicionar um construtor que gere
aleatoriamente um número de chassi
e criar mais dois objetos (carros).
Professor
José de Assis
new
extends
4) Criar uma nova classe modelo,
estendendo a classe Carro (herança).
Criar um novo objeto (avião).
Professor
José de Assis
acelerar() : void acelerar() : void
extends
5) Modificar o método acelerar() na
classe Aviao (polimorfismo).
Professor
José de Assis
Encapsulamento
O principal objetivo do encapsulamento é refinar a segurança
do sistema limitando o acesso as variáveis e também
impedindo que valores inapropriados sejam atribuídos.
Professor
José de Assis
Modificadores de Acesso
protected
“nenhum modificador definido”
Acesso permitido a todas as classes de qualquer pacote.
Acesso permitido a todas as classes que pertençam ao mesmo pacote.
Acesso permitido a classes de outros pacotes em caso de herança.
public
Acesso permitido somente na própria classe.
private
Acesso permitido a todas as classes que pertençam ao mesmo pacote.
Professor
José de Assis
POO – Exercício 2
Professor
José de Assis
1) Criar um novo projeto
Nome do projeto: Agencia bancaria
Estrutura de pacotes:
contas
Conta.java //classe modelo
PessoaFisica.java
src
seguros
SeguroPessoaFisica.java
Professor
José de Assis
Conta
saldo : double
cliente : String
exibirSaldo() : void
Tipo
Classe
atributos
variáveis
ações
métodos
2) Criar a classe modelo
<<create>> Conta() Construtor
Construtor:
Gerar automaticamente o mesmo número de agência para cada conta criada.
Método exibirSaldo():
Quando executado deverá exibir automaticamente o saldo da conta
corrente do cliente.
Professor
José de Assis
Conta
saldo : double
cliente : String
exibirSaldo() : void
3) Criar 2 objetos (contas) na classe
PessoaFisica
<<create>> Conta()
new
new
Professor
José de Assis
Conta
saldo : double
cliente : String
exibirSaldo() : void
4) Criar 1 objeto (conta) na classe
SeguroPessoaFisica
<<create>> Conta()
new
Professor
José de Assis
5) Criar métodos para depósito, saque e
transferência de valores entre contas.
6) Criar um relatório gerencial para saber
o total nas contas de pessoa física.
7) Reforçar a segurança encapsulando
as variáveis da classe conta.
Professor
José de Assis
ARRAY
Professor
José de Assis
ARRAY (Vetor) é uma estrutura de dados indexada que
permite armazenar múltiplos valores.
ARRAY - Vetor (estático)
ARRAY LIST - Vetor (dinâmico)
ARRAY MULTIDIMENSIONAL - Matriz
Professor
José de Assis
ARRAY
String[ ] carros = { "ferrari", "fusca", "camaro", "uno" };
char[ ] controle = { 'w', 'a', 's', 'd' };
int[ ] pares = { 2, 4, 6, 8 };
double[ ] imc = { 18.5, 24.9, 26, 29.1 };
Professor
José de Assis
EXERCÍCIO
Desenvolva uma aplicação no console (terminal) para
recuperar uma carta específica de um baralho de 52
cartas usando dois arrays (nipes e faces).
Professor
José de Assis
ArrayList
ArrayList<String> contatos = new ArrayList<>();
import java.util.ArrayList;
// importação
// sintaxe
ArrayList é um vetor cujo tamanho pode variar de forma
dinâmica de acordo com o tempo.
Professor
José de Assis
Robocode
Professor
José de Assis
Anatomia do Tank
Radar
Canhão
Chassi
Campo de
batalha
(0,0) x
y
Professor
José de Assis
Funcionamento
Gerenciador
de batalhas
Subsistema de
renderização
Eventos
public void run()
threads
Professor
José de Assis
Customização
radar
canhão
chassi
arco de varredura
bala
import java.awt.Color;
setColors (Color.chassi, Color.canhão, Color.radar, Color.bala, Color.arco)
black blue cyan darkGray gray green
lightGray magenta orange red white yellow
Professor
José de Assis
Movimento do chassi robótico
ahead(100) back(30) turnRight(45)
0
90
180
270
turnLeft(90)
0
90
180
270
Professor
José de Assis
Evento
onScannedRobot(ScannedRobotEvent e)
Radar
fire(1)
O valor do tiro pode
ser de 0.1 até 3
Professor
José de Assis
www.youtube.com/ProfessorJosedeAssis
Playlist deste curso:

Mais conteúdo relacionado

Mais procurados

Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
Bruno Catão
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
UFPA
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
Thiago Freitas
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
Fabio Moura Pereira
 
JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)
Gustavo Zimmermann
 
Aula 1
Aula 1Aula 1
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
Sérgio Souza Costa
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
Jorge Ávila Miranda
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos
Centro Paula Souza
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
Jorge Ávila Miranda
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
Carlos Eduardo Kadu
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
Rodrigo Branas
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
Elaine Cecília Gatto
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
Marcos Castro
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
Luiz Augusto Macêdo Morais
 
HTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlHTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no html
Tiago Luiz Ribeiro da Silva
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
André Nobre
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 

Mais procurados (20)

Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)
 
Aula 1
Aula 1Aula 1
Aula 1
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
HTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlHTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no html
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 

Semelhante a Java - Primeiros passos

Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
José Volmei Dal Prá Junior
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
Frederico Maia Arantes
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
Levi Saturnino
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
Denis L Presciliano
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
Gregorio Melo
 
Aula3
Aula3Aula3
Aula3
fkimura
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
Allen Gomes Vidal
 
Fascículo1java
Fascículo1javaFascículo1java
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
Adriano Teixeira de Souza
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de php
Tais Reis
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
Escola Básica e Secundária da Povoação
 
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
Escola Básica e Secundária da Povoação
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
Osvaldo Santana Neto
 
Modulo02
Modulo02Modulo02
Modulo02
Lisandro Michel
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
Portal_do_Estudante_Java
 
Apostila java
Apostila javaApostila java
Apostila java
wilmaraujo
 
Apostila de java
Apostila de javaApostila de java
Apostila de java
Gilberto Rocha Ricardo
 
1.introducao java
1.introducao java1.introducao java
1.introducao java
Kievnny Mendonca
 
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Luís Cobucci
 

Semelhante a Java - Primeiros passos (20)

Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Aula3
Aula3Aula3
Aula3
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Fascículo1java
Fascículo1javaFascículo1java
Fascículo1java
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de php
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
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
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
 
Modulo02
Modulo02Modulo02
Modulo02
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 
Apostila java
Apostila javaApostila java
Apostila java
 
Apostila de java
Apostila de javaApostila de java
Apostila de java
 
1.introducao java
1.introducao java1.introducao java
1.introducao java
 
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
 

Mais de Professor José de Assis

planejamento HTM5 e CSS3
planejamento HTM5 e CSS3planejamento HTM5 e CSS3
planejamento HTM5 e CSS3
Professor José de Assis
 
CSS FLexBox
CSS FLexBoxCSS FLexBox
Linguagem c
Linguagem cLinguagem c
Arduino - Projeto GENIUS (jogo de memória)
Arduino - Projeto GENIUS (jogo de memória)Arduino - Projeto GENIUS (jogo de memória)
Arduino - Projeto GENIUS (jogo de memória)
Professor José de Assis
 
Introdução à Robótica
Introdução à RobóticaIntrodução à Robótica
Introdução à Robótica
Professor José de Assis
 
Curso - Primeiros passos java script
Curso - Primeiros passos java scriptCurso - Primeiros passos java script
Curso - Primeiros passos java script
Professor José de Assis
 
O que é e como funciona um Servidor VPS
O que é e como funciona um Servidor VPSO que é e como funciona um Servidor VPS
O que é e como funciona um Servidor VPS
Professor José de Assis
 
Introdução ao DNS
Introdução ao DNSIntrodução ao DNS
Introdução ao DNS
Professor José de Assis
 
O que é Linux
O que é LinuxO que é Linux
O que é Linux
Professor José de Assis
 
Primeiros passos com servidor Linux - iptables
Primeiros passos com servidor Linux - iptablesPrimeiros passos com servidor Linux - iptables
Primeiros passos com servidor Linux - iptables
Professor José de Assis
 
Segurança de redes
Segurança de redesSegurança de redes
Segurança de redes
Professor José de Assis
 
Introdução ao desenvolvimento de games
Introdução ao desenvolvimento de gamesIntrodução ao desenvolvimento de games
Introdução ao desenvolvimento de games
Professor José de Assis
 
LVM
LVMLVM
Servidor WEB
Servidor WEBServidor WEB
As novas profissões em ti
As novas profissões em tiAs novas profissões em ti
As novas profissões em ti
Professor José de Assis
 
Certificação LPI
Certificação LPICertificação LPI
Certificação LPI
Professor José de Assis
 
TI Verde
TI VerdeTI Verde
Java MySQL - Sistema OS
Java MySQL - Sistema OSJava MySQL - Sistema OS
Java MySQL - Sistema OS
Professor José de Assis
 
Eletroeletrônica
EletroeletrônicaEletroeletrônica
Eletroeletrônica
Professor José de Assis
 
Cálculo do código hexadecimal RGB
Cálculo do código hexadecimal RGBCálculo do código hexadecimal RGB
Cálculo do código hexadecimal RGB
Professor José de Assis
 

Mais de Professor José de Assis (20)

planejamento HTM5 e CSS3
planejamento HTM5 e CSS3planejamento HTM5 e CSS3
planejamento HTM5 e CSS3
 
CSS FLexBox
CSS FLexBoxCSS FLexBox
CSS FLexBox
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Arduino - Projeto GENIUS (jogo de memória)
Arduino - Projeto GENIUS (jogo de memória)Arduino - Projeto GENIUS (jogo de memória)
Arduino - Projeto GENIUS (jogo de memória)
 
Introdução à Robótica
Introdução à RobóticaIntrodução à Robótica
Introdução à Robótica
 
Curso - Primeiros passos java script
Curso - Primeiros passos java scriptCurso - Primeiros passos java script
Curso - Primeiros passos java script
 
O que é e como funciona um Servidor VPS
O que é e como funciona um Servidor VPSO que é e como funciona um Servidor VPS
O que é e como funciona um Servidor VPS
 
Introdução ao DNS
Introdução ao DNSIntrodução ao DNS
Introdução ao DNS
 
O que é Linux
O que é LinuxO que é Linux
O que é Linux
 
Primeiros passos com servidor Linux - iptables
Primeiros passos com servidor Linux - iptablesPrimeiros passos com servidor Linux - iptables
Primeiros passos com servidor Linux - iptables
 
Segurança de redes
Segurança de redesSegurança de redes
Segurança de redes
 
Introdução ao desenvolvimento de games
Introdução ao desenvolvimento de gamesIntrodução ao desenvolvimento de games
Introdução ao desenvolvimento de games
 
LVM
LVMLVM
LVM
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEB
 
As novas profissões em ti
As novas profissões em tiAs novas profissões em ti
As novas profissões em ti
 
Certificação LPI
Certificação LPICertificação LPI
Certificação LPI
 
TI Verde
TI VerdeTI Verde
TI Verde
 
Java MySQL - Sistema OS
Java MySQL - Sistema OSJava MySQL - Sistema OS
Java MySQL - Sistema OS
 
Eletroeletrônica
EletroeletrônicaEletroeletrônica
Eletroeletrônica
 
Cálculo do código hexadecimal RGB
Cálculo do código hexadecimal RGBCálculo do código hexadecimal RGB
Cálculo do código hexadecimal RGB
 

Último

escrita criativa utilizada na arteterapia
escrita criativa   utilizada na arteterapiaescrita criativa   utilizada na arteterapia
escrita criativa utilizada na arteterapia
shirleisousa9166
 
Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24
DirceuSilva26
 
Relatório de Atividades 2019 CENSIPAM.pdf
Relatório de Atividades 2019 CENSIPAM.pdfRelatório de Atividades 2019 CENSIPAM.pdf
Relatório de Atividades 2019 CENSIPAM.pdf
Falcão Brasil
 
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdfApostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
pattyhsilva271204
 
Relatório de Atividades 2020 CENSIPAM.pdf
Relatório de Atividades 2020 CENSIPAM.pdfRelatório de Atividades 2020 CENSIPAM.pdf
Relatório de Atividades 2020 CENSIPAM.pdf
Falcão Brasil
 
Trabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdfTrabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdf
marcos oliveira
 
Temática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores LocaisTemática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores Locais
Colaborar Educacional
 
Alfabetização de adultos.pdf
Alfabetização de             adultos.pdfAlfabetização de             adultos.pdf
Alfabetização de adultos.pdf
arodatos81
 
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptxA perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
marcos oliveira
 
Texto e atividade - O que fazemos com a água que usamos.
Texto e atividade -  O que fazemos com a água que usamos.Texto e atividade -  O que fazemos com a água que usamos.
Texto e atividade - O que fazemos com a água que usamos.
Mary Alvarenga
 
Relatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdfRelatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdf
Falcão Brasil
 
Licao de adultos Topico 1 CPAD edit.pptx
Licao de adultos Topico 1 CPAD edit.pptxLicao de adultos Topico 1 CPAD edit.pptx
Licao de adultos Topico 1 CPAD edit.pptx
jetroescola
 
Relatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdfRelatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdf
Falcão Brasil
 
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdfCALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CristviaFerreira
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
Mary Alvarenga
 
Caça - palavras e cruzadinha com dígrafos
Caça - palavras  e cruzadinha   com  dígrafosCaça - palavras  e cruzadinha   com  dígrafos
Caça - palavras e cruzadinha com dígrafos
Mary Alvarenga
 
Desafio matemático - multiplicação e divisão.
Desafio matemático -  multiplicação e divisão.Desafio matemático -  multiplicação e divisão.
Desafio matemático - multiplicação e divisão.
Mary Alvarenga
 
Caderno 1 - Módulo Água JMS 2024 (1).pdf
Caderno 1 -  Módulo Água JMS 2024 (1).pdfCaderno 1 -  Módulo Água JMS 2024 (1).pdf
Caderno 1 - Módulo Água JMS 2024 (1).pdf
SupervisoEMAC
 
oficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdfoficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdf
marcos oliveira
 
Mini livro sanfona - Minha Escola Tem História.
Mini livro  sanfona - Minha Escola Tem História. Mini livro  sanfona - Minha Escola Tem História.
Mini livro sanfona - Minha Escola Tem História.
Mary Alvarenga
 

Último (20)

escrita criativa utilizada na arteterapia
escrita criativa   utilizada na arteterapiaescrita criativa   utilizada na arteterapia
escrita criativa utilizada na arteterapia
 
Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24
 
Relatório de Atividades 2019 CENSIPAM.pdf
Relatório de Atividades 2019 CENSIPAM.pdfRelatório de Atividades 2019 CENSIPAM.pdf
Relatório de Atividades 2019 CENSIPAM.pdf
 
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdfApostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
 
Relatório de Atividades 2020 CENSIPAM.pdf
Relatório de Atividades 2020 CENSIPAM.pdfRelatório de Atividades 2020 CENSIPAM.pdf
Relatório de Atividades 2020 CENSIPAM.pdf
 
Trabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdfTrabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdf
 
Temática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores LocaisTemática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores Locais
 
Alfabetização de adultos.pdf
Alfabetização de             adultos.pdfAlfabetização de             adultos.pdf
Alfabetização de adultos.pdf
 
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptxA perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
 
Texto e atividade - O que fazemos com a água que usamos.
Texto e atividade -  O que fazemos com a água que usamos.Texto e atividade -  O que fazemos com a água que usamos.
Texto e atividade - O que fazemos com a água que usamos.
 
Relatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdfRelatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdf
 
Licao de adultos Topico 1 CPAD edit.pptx
Licao de adultos Topico 1 CPAD edit.pptxLicao de adultos Topico 1 CPAD edit.pptx
Licao de adultos Topico 1 CPAD edit.pptx
 
Relatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdfRelatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdf
 
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdfCALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
 
Caça - palavras e cruzadinha com dígrafos
Caça - palavras  e cruzadinha   com  dígrafosCaça - palavras  e cruzadinha   com  dígrafos
Caça - palavras e cruzadinha com dígrafos
 
Desafio matemático - multiplicação e divisão.
Desafio matemático -  multiplicação e divisão.Desafio matemático -  multiplicação e divisão.
Desafio matemático - multiplicação e divisão.
 
Caderno 1 - Módulo Água JMS 2024 (1).pdf
Caderno 1 -  Módulo Água JMS 2024 (1).pdfCaderno 1 -  Módulo Água JMS 2024 (1).pdf
Caderno 1 - Módulo Água JMS 2024 (1).pdf
 
oficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdfoficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdf
 
Mini livro sanfona - Minha Escola Tem História.
Mini livro  sanfona - Minha Escola Tem História. Mini livro  sanfona - Minha Escola Tem História.
Mini livro sanfona - Minha Escola Tem História.
 

Java - Primeiros passos

  • 2. Professor José de Assis Um pouco da história – 1990 A ideia inicial era desenvolver um dispositivo wireless que usava uma tela colorida sensível ao toque para controlar a televisão, o som, alarmes e diversos dispositivos domésticos, além de interagir com computadores. A linguagem Java foi desenvolvida especialmente para este dispositivo.
  • 3. Professor José de Assis Um pouco da história - 1995 Por estar muito a frente da época, este projeto não foi adiante, o time então voltou a procurar alternativas para uso desta tecnologia. A equipe decidiu entrar no mundo da internet, criando um navegador capaz de suportar a linguagem Java. Este navegador ficou conhecido como hotJava.
  • 4. Professor José de Assis WORA "Write once, run anywhere" “Escreva uma vez, rode em qualquer lugar”. Este é o slogan do Java e representa a sua maior vantagem que é a portabilidade. Você escreve o código em Java e pode executar no Windows, no Linux, no MAC, no sistema Android, em Smartcards etc.
  • 5. Professor José de Assis SISTEMA OPERACIONAL JVM Aplicação Java
  • 8. Professor José de Assis Back-end Servlet A linguagem Java é muito usada no mercado corporativo para o desenvolvimento de aplicações WEB no back-end.
  • 9. Professor José de Assis Android A linguagem Java é usada para desenvolvimento de aplicações nativas do sistema Android.
  • 10. Professor José de Assis Sistema Desktop O programa de declaração de imposto de renda é um exemplo de sistema desktop desenvolvido em Java.
  • 11. Professor José de Assis Games Minecraft é um exemplo de jogo desenvolvido com a linguagem Java.
  • 12. Professor José de Assis Outros O Java também é encontrado em Smartcards e em diversos outros dispositivos como por exemplo sistemas de som, e até mesmo na robótica.
  • 13. Professor José de Assis Por onde começar ? Para começar a desenvolver o Java é necessário instalar o kit do desenvolvedor Java, também conhecido como JDK.
  • 14. Professor José de Assis IDE Para começar a desenvolver o Java, além do JDK é necessário também instalar uma IDE. A IDE é um ambiente integrado de desenvolvimento que contém um editor de código, um compilador e um depurador. Netbeans Eclipse
  • 16. Professor José de Assis VARIÁVEIS Na programação utilizamos as variáveis para armazenar dados na memória. Estes dados podem ser alterados de acordo com o tempo, como por exemplo o armazenamento do valor da idade.
  • 17. Professor José de Assis Tipos de variáveis usadas no Java Grupos Tipos primitivos Tamanho Valores válidos Inteiros (números sem casas decimais) byte 1 byte -128 até 127 short 2 bytes -32768 até 32767 int 4 bytes -2147483648 até 2147483647 long 8 bytes -9223372036854775808L até 9223372036854775808L Flutuantes (números com casas decimais) float 4 bytes ±3.40282347E+38F double 8 bytes ±1.79769313486231570E+308 Booleanos (verdadeiro ou falso) boolean 1 byte true ou false Caractere (aceita apenas um caractere) char 2 bytes 1 caractere da tabela Unicode (Ex: 'a') Tipos não primitivos Descrição String Uma cadeia de caracteres Unicode Object Um objeto genérico
  • 18. Professor José de Assis Criando variáveis no Java Na linguagem Java devemos atribuir o tipo de variável de acordo com os valores que serão armazenados. No Java uma variável também não pode ser usada se não for inicializada.
  • 19. Professor José de Assis Nomeando variáveis • O nome da variável deve começar com uma letra minúscula • Não usar caracteres especiais nem deixar espaços • Não usar palavras chaves ou reservadas da linguagem de programação • Definir nomes que descrevam o tipo de informação que as variáveis irão armazenar (clean code)
  • 21. Professor José de Assis Operadores Aritméticos Operador Propósito Exemplo Resultado = “Setar” uma variável i = 10 i = 10 + Soma i = 10 + 5 i = 15 - Subtração i = 10 - 5 i = 5 * Multiplicação i = 10 * 5 i = 50 / Divisão i = 10 / 5 i = 2 % Resto da divisão i = 10 % 5 i = 0
  • 22. Professor José de Assis Operadores Aritméticos ATRIBUIÇÕES Operador Propósito Exemplo Resultado i = 10 += Somar o valor i += 5 i = 15 -= Subtrair o valor i -= 5 i = 10 *= Multiplicar o valor i *= 5 i = 50 /= Dividir o valor i /= 5 i = 10 ++ Adicionar 1 ao valor i++ ( i = i + 1 ) i = 11 -- Subtrair 1 do valor i-- ( i = i - 1 ) I = 10
  • 23. Professor José de Assis Operadores Comparativos Operador Significado > Maior que >= Maior ou igual a < Menor que <= Menor ou igual a == Igual a != Diferente de
  • 24. Professor José de Assis Operadores Lógicos ENTRADA 1 ENTRADA 2 SAÍDA FALSO FALSO FALSO FALSO VERDADEIRO FALSO VERDADEIRO FALSO FALSO VERDADEIRO VERDADEIRO VERDADEIRO ENTRADA 1 ENTRADA 2 SAÍDA FALSO FALSO FALSO FALSO VERDADEIRO VERDADEIRO VERDADEIRO FALSO VERDADEIRO VERDADEIRO VERDADEIRO VERDADEIRO ENTRADA SAÍDA FALSO VERDADEIRO VERDADEIRO FALSO AND && OR || NOT !
  • 25. Professor José de Assis Estruturas de controle • Estruturas de Controle Condicional • Estruturas de Repetições (laços) Estruturas de controle são blocos de código que analisam os tipos de dados armazenados nas variáveis. As estruturas de controle são processos básicos de tomada de decisões das máquinas. Existem dois tipos de estruturas de controle:
  • 26. Professor José de Assis Estruturas de controle condicional
  • 27. Professor José de Assis if – if else – else if
  • 28. Professor José de Assis switch case * Tipos de variáveis aceitas (int e char)
  • 30. Professor José de Assis for Estrutura de repetição usada para repetir um bloco de código envolvido por chaves. Um contador de incremento é utilizado para terminar o loop. A inicialização ocorre primeiro e apenas uma vez. A cada repetição do loop, a condição é testada e se for verdadeira, o bloco de comandos e o incremento são executados. Quando a condição se torna falsa o loop termina.
  • 31. Professor José de Assis while – do while Um loop while se repetirá infinitamente enquanto a condição dentro dos parênteses () for verdadeira. Algo deve mudar a condição, ou o loop while nunca encerrará. O loop do…while funciona da mesma forma que o loop while, com a exceção da condição ser testada no final.
  • 33. Professor José de Assis Exercício 1 Nos Estados Unidos a temperatura em geral é medida em uma escala denominada fahrenheit. Desenvolva uma aplicação no console (terminal) que faça a conversão da temperatura em Fahrenheit para Celsius.
  • 34. Professor José de Assis Fórmula: Variáveis: c,f (double) Entrada: f Processamento: c = (5 * (f – 32)) / 9 Saída: c
  • 35. Professor José de Assis Exercício 2 Desenvolva uma aplicação no console (terminal) para calcular o valor da porcentagem usando Regra de 3, conforme modelo abaixo: x% de y = valor Exemplo: 10% de 200 = 20
  • 36. Professor José de Assis Fórmula: Variáveis: x,y,valor (double) Entrada: x,y Processamento: valor = (x * y) / 100 Saída: valor x% de y = valor y 100% valor x% valor = (x * y) / 100
  • 37. Professor José de Assis Exercício 3 Desenvolva uma aplicação no console (terminal) de ponto de vendas (PDV), conforme modelo abaixo: ▪ Valor total: 200,00 ▪ Desconto(%): 5 ▪ Total com desconto: 190,00 (valor calculado) ▪ Valor pago: 200,00 ▪ Troco: 10,00 (valor calculado)
  • 38. Professor José de Assis Variáveis: total, desconto, totalDesconto, valorPago, troco (double) Entrada1: total, desconto Processamento1: totalDesconto = total - (desconto * total) /100 Saída1: totalDesconto Entrada2: valorPago Processamento2: troco = valorPago - totalDesconto Saída2: troco Fórmulas: Total com desconto = total - desconto Troco = valor pago - total com desconto
  • 39. Professor José de Assis Exercício 4 Desenvolva uma aplicação no console (terminal) para calcular o valor da hora de um serviço, de acordo com a fórmula abaixo: remuneração mensal + impostos + custo operacional + investimentos hora = Carga horária mensal de trabalho Impostos: 30% da remuneração mensal Investimento: 20% da remuneração mensal
  • 40. Professor José de Assis Variáveis: hora, remuneracao, custo, cargaHoraria (double) Entrada: remuneracao, custo, cargaHoraria Processamento: hora = (remuneracao + (remuneracao * 0.3) + custo + (remuneracao * 0.2)) / cargaHoraria Saída: hora Fórmula
  • 41. Professor José de Assis Exercício 5 Para carros flex é preciso ter cautela ao escolher o combustível na hora de abastecer. A principal diferença de preços e vantagens entre os dois combustíveis está na proporção preço X desempenho. Para o álcool ser mais vantajoso do que a gasolina, o preço do litro tem que custar até 70% do litro da gasolina. Baseado nestas informações desenvolva um aplicativo no console (terminal) para determinar qual é o combustível mais vantajoso para abastecer.
  • 42. Professor José de Assis Variáveis: alcool, gasolina (double) Entrada: alcool, gasolina Processamento / Saída: if (alcool < 0.7 * gasolina) { //abastecer com álcool } else { //abastecer com gasolina }
  • 43. Professor José de Assis Exercício 6 Desenvolva um aplicativo no console (terminal) para calcular o valor do IMC. O aplicativo deverá exibir além do valor do IMC a classificação de acordo com a tabela abaixo:
  • 44. Professor José de Assis Variáveis: peso, altura, imc (double) Entrada: peso, altura Processamento: imc = peso / (altura * altura) Saída: imc if else if Fórmula:
  • 45. Professor José de Assis Exercício 7 Desafio: Desenvolva o jogo “Pedra – Papel – Tesoura”, conforme modelo abaixo: _______ JoKenPow _______ 1. Pedra 2. Papel 3. Tesoura Digite a opção desejada: Jogador escolheu: Computador escolheu: VENCEDOR:
  • 46. Professor José de Assis Variáveis: jogador, computador (int) Entrada: jogador, computador Processamento / Saída:
  • 47. Professor José de Assis Exercício 8 Desenvolva um aplicativo no console (terminal) para calcular o valor da tabuada. O aplicativo deverá perguntar qual é o valor da tabuada a ser calculada.
  • 48. Professor José de Assis Exercício 9 Desenvolva um aplicativo no console (terminal) para fazer o lançamento de um dado de 6 faces. O aplicativo deverá executar um sorteio usando a função Math.random(), exibindo a face do dado sorteada. Após a exibição da face sorteada o aplicativo deverá perguntar se o jogador deseja lançar o dado novamente. Se o jogador responder que sim um novo lançamento do dado será executado.
  • 49. Professor José de Assis Métodos No Java os métodos são equivalentes as funções de outras linguagens de programação e precisam sempre ser definidos dentro de uma classe. • main • static • void
  • 50. Professor José de Assis POO O Java e a maioria das linguagens de programação são orientadas a objetos. Para um computador entender o que é um objeto é necessário descrever as características do objeto e também as ações que podem ser executadas.
  • 51. Professor José de Assis Pilares • Abstração • Herança • Polimorfismo • Encapsulamento
  • 52. Professor José de Assis Abstração A abstração é usada para definir um modelo para a criação dos objetos. Na linguagem Java usamos uma classe para criar um modelo.
  • 53. Professor José de Assis Classe Modelo Para explicar uma classe modelo vamos fazer uma analogia com a patente da Lego que descreve as características de um bloco além de mostrar que é possível encaixar um bloco no outro. Este modelo será usado para criar os objetos (blocos).
  • 54. Professor José de Assis Objetos Objetos são criados à partir da classe modelo. Percebam na imagem que temos blocos de diferentes cores e tamanhos, porém todos foram criados a partir de um modelo.
  • 56. Professor José de Assis Bloco resistencia : int textura : String construir() : void minerar() : void craftar() : void Tipo Classe atributos variáveis ações métodos Classe Modelo
  • 57. Professor José de Assis new new Bloco resistencia : int textura : String construir() : void minerar() : void craftar() : void Objetos
  • 58. Professor José de Assis Herança Na herança criamos uma subclasse da classe modelo estendendo seus atributos e métodos com o objetivo de criar outros tipos de objetos reutilizando atributos e métodos da classe modelo.
  • 60. Professor José de Assis Bloco resistencia : int textura : String construir() : void minerar() : void craftar() : void Enxada conquista : boolean new arar() : void
  • 61. Professor José de Assis Polimorfismo Polimorfismo é a modificação do comportamento de um método existente na classe modelo.
  • 62. Professor José de Assis Bloco resistencia : int textura : String construir() : void minerar() : void craftar() : void Enxada arar() : void minerar() minerar() )) Dano conquista : boolean _ - _ Recursos
  • 63. Professor José de Assis POO – Exercício 1
  • 64. Professor José de Assis Carro ano : int cor : String ligar() : void desligar() : void acelerar() : void Tipo Classe atributos variáveis ações métodos 1) Criar a classe modelo
  • 65. Professor José de Assis new new 2) Criar dois objetos(carros)
  • 66. Professor José de Assis new new 3) Adicionar um construtor que gere aleatoriamente um número de chassi e criar mais dois objetos (carros).
  • 67. Professor José de Assis new extends 4) Criar uma nova classe modelo, estendendo a classe Carro (herança). Criar um novo objeto (avião).
  • 68. Professor José de Assis acelerar() : void acelerar() : void extends 5) Modificar o método acelerar() na classe Aviao (polimorfismo).
  • 69. Professor José de Assis Encapsulamento O principal objetivo do encapsulamento é refinar a segurança do sistema limitando o acesso as variáveis e também impedindo que valores inapropriados sejam atribuídos.
  • 70. Professor José de Assis Modificadores de Acesso protected “nenhum modificador definido” Acesso permitido a todas as classes de qualquer pacote. Acesso permitido a todas as classes que pertençam ao mesmo pacote. Acesso permitido a classes de outros pacotes em caso de herança. public Acesso permitido somente na própria classe. private Acesso permitido a todas as classes que pertençam ao mesmo pacote.
  • 71. Professor José de Assis POO – Exercício 2
  • 72. Professor José de Assis 1) Criar um novo projeto Nome do projeto: Agencia bancaria Estrutura de pacotes: contas Conta.java //classe modelo PessoaFisica.java src seguros SeguroPessoaFisica.java
  • 73. Professor José de Assis Conta saldo : double cliente : String exibirSaldo() : void Tipo Classe atributos variáveis ações métodos 2) Criar a classe modelo <<create>> Conta() Construtor Construtor: Gerar automaticamente o mesmo número de agência para cada conta criada. Método exibirSaldo(): Quando executado deverá exibir automaticamente o saldo da conta corrente do cliente.
  • 74. Professor José de Assis Conta saldo : double cliente : String exibirSaldo() : void 3) Criar 2 objetos (contas) na classe PessoaFisica <<create>> Conta() new new
  • 75. Professor José de Assis Conta saldo : double cliente : String exibirSaldo() : void 4) Criar 1 objeto (conta) na classe SeguroPessoaFisica <<create>> Conta() new
  • 76. Professor José de Assis 5) Criar métodos para depósito, saque e transferência de valores entre contas. 6) Criar um relatório gerencial para saber o total nas contas de pessoa física. 7) Reforçar a segurança encapsulando as variáveis da classe conta.
  • 78. Professor José de Assis ARRAY (Vetor) é uma estrutura de dados indexada que permite armazenar múltiplos valores. ARRAY - Vetor (estático) ARRAY LIST - Vetor (dinâmico) ARRAY MULTIDIMENSIONAL - Matriz
  • 79. Professor José de Assis ARRAY String[ ] carros = { "ferrari", "fusca", "camaro", "uno" }; char[ ] controle = { 'w', 'a', 's', 'd' }; int[ ] pares = { 2, 4, 6, 8 }; double[ ] imc = { 18.5, 24.9, 26, 29.1 };
  • 80. Professor José de Assis EXERCÍCIO Desenvolva uma aplicação no console (terminal) para recuperar uma carta específica de um baralho de 52 cartas usando dois arrays (nipes e faces).
  • 81. Professor José de Assis ArrayList ArrayList<String> contatos = new ArrayList<>(); import java.util.ArrayList; // importação // sintaxe ArrayList é um vetor cujo tamanho pode variar de forma dinâmica de acordo com o tempo.
  • 83. Professor José de Assis Anatomia do Tank Radar Canhão Chassi Campo de batalha (0,0) x y
  • 84. Professor José de Assis Funcionamento Gerenciador de batalhas Subsistema de renderização Eventos public void run() threads
  • 85. Professor José de Assis Customização radar canhão chassi arco de varredura bala import java.awt.Color; setColors (Color.chassi, Color.canhão, Color.radar, Color.bala, Color.arco) black blue cyan darkGray gray green lightGray magenta orange red white yellow
  • 86. Professor José de Assis Movimento do chassi robótico ahead(100) back(30) turnRight(45) 0 90 180 270 turnLeft(90) 0 90 180 270
  • 87. Professor José de Assis Evento onScannedRobot(ScannedRobotEvent e) Radar fire(1) O valor do tiro pode ser de 0.1 até 3