Aula 04 - Linguagem Java
Aula 04 - Linguagem Java
Aula 04 - Linguagem Java
Linguagem Java
Programação Orientada a Objetos
Conteúdo
• IDE - NetBeans
• Aspectos básicos da linguagem Java:
i. Tipos primitivos e operadores
ii. Arrays e Strings
iii. Estruturas de controle
IDE
NETBEANS
NetBeans
• Feito para programação em Linguagem Java:
✔ Aceita: C, C++, PHP, HTML e outras;
• Gratuito e de Código Aberto;
• Multiplataforma:
✔ Diponível para Windows, Linux, Solaris, MacOS
• Distribuído em diversos idiomas (Português BR
inclusive)
• Outros ambientes de programação:
✔ Eclipse, Visual Studio, Delphi XE, ...
• Download: http://www.netbeans.org
Desenvolvimento Java
Código Java
NetBeans
(.java)
Compilador
JAVAC
Programado Bytecode
r (.class)
ESTRUTURA E
ELEMENTOS BÁSICOS
NetBeans – Interface
NetBeans – Interface
Aba Projetos
• Pacotes e bibliotecas
necessários para o
desenvolvimento do
projeto
NetBeans – Interface
Criar Pacote:
Importar:
Comentários:
Algoritmo:
Função MAIN:
Código:
Código Fonte -
Comentários
Código Fonte – Blocos de
Código
Código Fonte – Blocos de
Código
Código Fonte – Blocos de
Código
Código Fonte – Declaração de
Strings
Código Fonte – Fim de Linha e
Inicio/Fim de Bloco
Identificando Elementos
JAVA
Linguagem Java
✔ int x, y;
✔ double valor;
✔ String nome;
✔ boolean verdade;
Criando Variáveis
• Não existe um local específico para criar uma
variável.
• Variáveis podem ser criadas em qualquer lugar
antes de sua utilização, ou até mesmo no momento
em que for necessária:
▪ int x; //Cria a variável
▪ x = 10; //Atribuí valor
✔ ou:
▪ int x = 10; //Cria e ao mesmo tempo atribuí valor
Declaração de Constantes
• Uma constante é um tipo de variável que não
permite a alteração de seu conteúdo depois de ter
sido inicializada
/*
comentário
de
várias
linhas
*/
Sequências de Escape
• A linguagem Java possui algumas sequências de
escape (atalhos utilizados para representar um
caractere especial)
Passagem de parâmetros
• Uma aplicação Java pode receber valores a partir do
prompt, isto é, no momento em que ela é
executada.
• Quando um parâmetro é recebido por uma classe
ele pode ser manipulado internamente.
x =
Integer.parseInt(JOptionPane.showInputDialog(“Cod:"));
Saída de Dados
• Modo texto (console)
System.out.println(“Olá!”);
System.out.print(43);
double y;
int x = (int)(y);
System.out.println("a="+ 12/7);
System.out.println(“b="+ 12.0/7);
System.out.println(“c="+ 12/7.0);
System.out.println(“d="+ 12.0/7.0);
System.out.println(“e="+ (double)(12)/7);
System.out.println(“f="+ 12/(double)(7));
System.out.println(“g="+ (double) (12)/(double)(7));
Introdução ao Java
ATIVIDADE PRÁTICA
Atividade Prática 1
(Leitura/Conversão)
public static void main(String[] args) {
String str = JOptionPane.showInputDialog(“V1:”);
int v1 = Integer.parseInt(str);
str = JOptionPane.showInputDialog(“V2:”);
double v2 = Double.parseDouble(str);
boolean b = (v1 == v2);
System.out.println(b);
}
Atividade Prática 2 (Soma)
package soma;
import java.util.*;
EXERCÍCIOS
Exercícios
1. Calcular quanto um fumante gasta ao longo da vida
com cigarro:
✔ Perguntar a quantidade de anos como fumante;
✔ Perguntar a quantidade de cigarros por dia;
✔ Perguntar o valor da carteira de cigarro;
✔ Considerar 20 cigarros por carteira;
✔ Informar o total de dinheiro gasto.
Exercícios
2. Sabendo que latão é constituído de 70% cobre e
30% zinco:
✔ Solicitar o peso de latão que o usuário deseja;
✔ Informar o peso de cobre necessário;
✔ Informar o peso de zinco necessário.
OPERADORES LÓGICOS
Operadores Lógicos
Java Visualg
var
boolean teste; teste: logico
inicio
teste = false; teste <- falso
ESTRUTURAS DE CONTROLE
}
senao //Opcional else //Opcional
{
fimse }
Estrutura de Decisão - if
Atal
if (cláusula) { iff
hos:
+ ta
ifel b
//Primeiro if é true se +
tab
} else if (cláusula) {
//Apenas o segundo if é true
} else {
//Quando nenhum if for true
}
Obs.: Os else são opcionais!
Estruturas de Decisão
Scanner entrada = new Scanner(System.in);
int x;
System.out.print("Digite um valor: ");
x = Integer.parseInt(entrada.nextLine());
if ( x > 0) {
System.out.println("O número é positivo!");
} else {
System.out.println("O número é negativo ou neutro!");
}
Estruturas de Decisão
Scanner entrada = new Scanner(System.in);
int x;
System.out.print("Digite um valor: ");
x = Integer.parseInt(entrada.nextLine());
if ( (x >= 1) && (x <= 10))
{
System.out.println("Pertence ao intervalo 1..10!");
}
else
{
System.out.println("NÃO pertence ao intervalo 1..10!");
}
Exercícios
1. Implemente um código que, dada a idade de uma
pessoa, informe se ela tem maioridade;
Exemplo:
int v1=20, v2=10;
int valorMenor = (v1 < v2) ? v1 : v2;
//valorMenor será 10
Obs.: Os parenteses são opcionais.
Java
ESTRUTURAS DE REPETIÇÃO
Estruturas de Repetição
Estrutura de Repetição - while
Atal
ho:
wh +
tab
while (cláusula) {
//Executa e repete somente enquanto
//a cláusula resultar true
}
Estruturas de Repetição
Estrutura de Repetição - dowhile
Atal
ho:
do +
tab
do {
//Executa ao menos uma vez
//Repete enquanto a cláusula resultar true
} while (cláusula);
Estruturas de Repetição
Estrutura de Repetição - for
for (inicialização; condição; incremento) {
//Repete
}
Ex. inicialização: int x = 0
Ex. condição: x < 10 Atal
ho:
fori
Ex. incremento: x++ + ta
b
Exemplo completo:
for (int x = 0; x < 10; x++) {
//Repete 10 vezes com x de 0 até 9
}
Exercícios
Construa um programa em Java que:
1. Solicite um número N de produtos:
a. Para cada um dos N produtos: 1) leia o valor; e 2)
leia um percentual de desconto;
b. Informe o novo valor de cada produto;
c. Ao final do programa, forneça as seguintes
informações:
i. A soma dos valores originais dos produtos;
ii. A soma dos novos valores dos produtos;
iii. O maior novo valor de um produto;
iv. O menor novo valor de um produto;
Interrompendo
Repetições
Forçando a Próxima
Iteração
Estrutura de Dados
Arranjos
Arranjos (Arrays)
• Um arranjo (em inglês array) é uma estrutura de dados que
armazena uma coleção de elementos de tal forma que cada um
dos elementos possa ser identificado por, pelo menos, um índice
ou uma chave.
• Onde: vetor
✔ tipo: tipo de dado
✔ nome: identificação do array
✔ new: comando de construção de novo objeto
✔ N: número de elementos do array
• Declaração de um array :
✔ int numeros[] = new int[5];
✔ int matriz[][] = new int[5][6];
✔ String nomes[] = new String[10];
Arrays
Declaração e inicialização de um array
unidimensional (vetor):
• Array declarado mas não inicializado (null)
int[] array;
• Array de 10 inteiros:
int[] arrayInt = new int[10];
• Exemplo:
ArrayList<String> nomes = new ArrayList();
nomes.add(“João”);
nomes.add(“José”);
nomes.add(“teste”);
for (String nomeAtual: nomes) {
if (nomeAtual.equals(“teste”) {
System.out.println(“Nome encontrado!”)
}
}
Exemplo (for)
Scanner entrada = new Scanner(System.in);
ArrayList<Integer> lista = new ArrayList();
int numero;
//Inserir elementos na lista
do {
System.out.print("Digite um número: ");
numero = Integer.parseInt(entrada.nextLine());
if (numero != 0) {
lista.add(numero);
}
} while (numero != 0);
//Exibir todos os elementos da lista
System.out.println("=== Os números inseridos foram
===");
for (int i = 0; i < lista.size(); i++) {
System.out.println(lista.get(i));
}
Exemplo (for-each)
Scanner entrada = new Scanner(System.in);
ArrayList<Integer> lista = new ArrayList();
int numero;
//Inserir elementos na lista
do {
System.out.print("Digite um número: ");
numero = Integer.parseInt(entrada.nextLine());
if (numero != 0) {
lista.add(numero);
}
} while (numero != 0);
//Exibir todos os elementos da lista
System.out.println("=== Os números inseridos foram
===");
for (int i:lista) {
System.out.println(i);
}
Atividade
• Construa um programa que utiliza um ArrayList
para cadastrar objetos da classe Aluno. A classe
deve possuir os atributos:
✔ Nome
✔ Matrícula
✔ Idade
• O programa deverá apresentar um menu para o
usuário com as opções:
✔ Cadastrar
✔ Listar todos
✔ Pesquisar
✔ Remover
Atalhos
y
x 0
200
Variáveis em Java - referência
Já ao declararmos uma variável associada a alguma classe, seu valor
(conteúdo) será uma referência a um objeto existente em algum
outro lugar na memória. Este conceito pode ser considerado
análogo ao funcionamento de um ponteiro.
Pessoa p1;
Pessoa p2 = new Pessoa();
Memória:
p2
0
200 *ref*
p1
null
Variáveis em Java - referência
Mas o que é esta referência?
É uma ligação, um apontamento para um determinado objeto
existente em outro lugar na memória.
Pessoa p2 = new Pessoa();
Memória:
p2
0
200 *ref*
p1
null
p2
0
200 *ref*
p1
*ref*
p2
Objeto Pessoa #5436
0
200 *ref*
p1
*ref*
public Frota() {
case 1:
placa = JOptionPane.showInputDialog( "Informe a placa:" );
consumo = Double.parseDouble( JOptionPane.showInputDialog( "Informe o consumo:
"));
capacidade = Double.parseDouble( JOptionPane.showInputDialog( "Informe a capac:
"));
frota.adicionarCarro( new Carro(placa, consumo, capacidade));
break;
(1/4)
case 2:
placa = JOptionPane.showInputDialog( "Informe a placa: " );
carroAux = frota.pesquisarPlaca(placa);
if (carroAux == null) {
JOptionPane.showMessageDialog( null, "Carro não encontrado" );
} else {
JOptionPane.showMessageDialog( null, "Hodômetro: " + carroAux.hodometro
+ "\nCombustível: " + carroAux.dispCombustivel);
}
break;
case 3:
placa = JOptionPane.showInputDialog( "Informe a placa: " );
carroAux = frota.pesquisarPlaca(placa);
if (carroAux == null) {
JOptionPane.showMessageDialog( null, "Carro não encontrado" );
} else {
frota.removerCarro(carroAux);
}
break;
(2/4)
case 4:
placa = JOptionPane.showInputDialog( "Informe a placa: " );
carroAux = frota.pesquisarPlaca(placa);
if (carroAux == null) {
JOptionPane.showMessageDialog( null, "Carro não encontrado" );
} else {
km = Double.parseDouble( JOptionPane.showInputDialog( "Informe a KM: " ));
kmAux = carroAux.percorrer(km);
if (km > kmAux) {
JOptionPane.showMessageDialog( null, "Acabou combustível no km " + kmAux);
} else {
JOptionPane.showMessageDialog( null, "KM percorrida!" );
}
}
break;
case 5:
placa = JOptionPane.showInputDialog( "Informe a placa: " );
carroAux = frota.pesquisarPlaca(placa);
if (carroAux == null) {
JOptionPane.showMessageDialog( null, "Carro não encontrado" );
} else {
litros = Double.parseDouble( JOptionPane.showInputDialog( "Informe L: " ));
litrosAux = carroAux.abastecer(litros);
JOptionPane.showMessageDialog( null, "Abastecidos " + litrosAux + " litros" );
}
break;
(3/4)
case 0:
break;
default:
JOptionPane.showMessageDialog( null, "Opção inválida!" );
break;
} // Fim do switch
} //Fim do main
}//Fim da classe
(4/4)