programaÇÃo i inguagem de programaÇÃo java ii estrutura do código •programa em c/c++...
TRANSCRIPT
![Page 1: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/1.jpg)
PROGRAMAÇÃO I
Prof. Dr. Daniel Caetano
2017 - 1
A LINGUAGEM DE PROGRAMAÇÃO JAVA II
![Page 2: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/2.jpg)
Objetivos
• Recordar as estruturas condicionais switch~case e de repetição while, for e do~while
• Conhecer os tipos não nativos: tipo String e a classe de entrada de dados Scanner
• Conhecer o uso de format, com casas decimais
• Compreender as conversões de tipos e suas características
![Page 3: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/3.jpg)
Material de Estudo
Material Acesso ao Material
Apresentação http://www.caetano.eng.br/ (Programação I – Aula 2)
Material Didático Programação I – Págs 30 a 43
![Page 4: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/4.jpg)
O QUE JÁ VIMOS SOBRE A ESTRUTURA DO JAVA
![Page 5: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/5.jpg)
Estrutura do Código
• Programa em C/C++
programa.cpp
funcao1
main
funcao2
funcao3
• Programa em Java
projeto.exe
Projeto.java
metodo1
main
projeto.jar
Pacote
Projeto
Pacote
Classe
![Page 6: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/6.jpg)
Estrutura do Código
• Programa em Java
projeto
Executável: Projeto.jar
Diretório: /projeto
Diretório: /projeto/projeto
Diretório: /projeto/umpacote1
Diretório: /projeto/umpacote2
![Page 7: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/7.jpg)
Estrutura de um Código Java Arquivo: Projeto.java Indica o pacote
SEMPRE a primeira coisa!
Conteúdo da Classe
![Page 8: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/8.jpg)
ESTRUTURAS DE CONTROLE DE FLUXO ADICIONAIS
![Page 9: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/9.jpg)
Estruturas de Seleção
• Já recordamos
Início
N
N%2 = 0
É Par!
V
Fim
F
É Ímpar!
![Page 10: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/10.jpg)
Estruturas de Seleção
• Já recordamos: if ~ else
![Page 11: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/11.jpg)
Estruturas de Seleção
• switch ~ case: igual em C/C++
![Page 12: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/12.jpg)
Estruturas de Repetição
• Estrutura de Seleção: qual código executar
• Estrutura de Repetição é parecida...
– Decidir até quando um código será executado
• Diferença: para onde vai a execução depois?
R == 0 Imprime Algo V
F
R == 0 Imprime Algo V
F
![Page 13: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/13.jpg)
Repetição Simples na Prática
• Repetição: decisão do tipo “enquanto isso for verdadeiro, continue repetindo!”
• O que ocorre no código ao lado?
Início
N
N < 6.0
Reprovado
V
Fim
F
Início
N
N < 6.0
Reprovado
V
Fim
F
![Page 14: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/14.jpg)
Repetindo Código 10 Vezes • Observe o fluxograma
Início
X = 0
X < 10
“X Vale:”, X
V
Fim F
X = X + 1
![Page 15: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/15.jpg)
Estruturas de Repetição
• while: igual em C/C++
![Page 16: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/16.jpg)
Estruturas de Repetição
• for: igual em C/C++
![Page 17: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/17.jpg)
Estruturas de Repetição
• do ~ while: igual em C/C++
![Page 18: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/18.jpg)
“VARIÁVEIS NÃO NATIVAS”:
ARMAZENANDO TEXTOS EM VARIÁVEIS
![Page 19: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/19.jpg)
O que são “variáveis não nativas”?
• São “variáveis” programadas
• Não fazem parte da linguagem em si, mas de sua biblioteca
• São programadas na forma de Classes
• Facilitam muito a programação
• Variáveis destes tipos podem ser usadas normalmente na maioria das situações
![Page 20: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/20.jpg)
Variáveis para Texto: String
• Texto: mais complexo que número
– Tamanho variável
– Comprimento / Indicação de final
• Armazenar texto em C → muito chato:
char texto[30] = “Meu texto\0”;
• Em java, usa-se a classe String para isso
String umTexto = “Meu Texto”;
System.out.println(umTexto);
![Page 21: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/21.jpg)
Imprimindo Strings
![Page 22: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/22.jpg)
Somando Strings
![Page 23: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/23.jpg)
Imprimindo Soma de Strings
![Page 24: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/24.jpg)
Vantagens de Variáveis Não Nativas
• Como são classes (pequenos programas) elas não apenas guardam informação, mas também executam tarefas
• Por exemplo: uma String sabe responder seu próprio comprimento (quantas letras possui):
![Page 25: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/25.jpg)
Vantagens de Variáveis Não Nativas
• Variáveis Nativas não possuem esse recurso!
• Como saber se variável é nativa ou não?
• Pelo tipo da variável
• As variáveis nativas sempre têm seu tipo iniciado em letra minúscula
– Ex.: int, double...
• As variáveis não nativas sempre têm seu tipo iniciado em letra maiúscula
– Ex.: String, Scanner...
![Page 26: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/26.jpg)
Como saber que métodos existem?
• Documentação
• No NetBeans, digite o nome da variável seguido de ponto (.) e aguarde alguns instantes...
![Page 27: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/27.jpg)
ENTRADA DE DADOS: A CLASSE SCANNER
![Page 28: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/28.jpg)
Entrada de Dados
• Vimos como imprimir valores:
System.out.print(“texto”);
System.out.println(var);
• Como fazer a leitura de dados?
– Infelizmente não é só usar System.in !
– Envolve reconhecer e decodificar texto
– Um pouco mais complexa...
![Page 29: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/29.jpg)
A Classe Scanner
• Classe Scanner:
– “programa” de decodificação
– Está no pacote java.util → import
• Para usá-lo, é preciso criar um “nome” para nos referirmos a esse decodificador:
Scanner teclado;
Tipo da
Referência Nome da
Referência
![Page 30: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/30.jpg)
A Classe Scanner
• Em seguida, é necessário “carregar” o programa, alocando memória para ele:
teclado = new Scanner(System.in);
Nome da Referência
Comando de Alocação
Classe que Indica a Origem dos Dados
Classe Decodificadora
Teclado, Arquivo, Rede...
Scanner teclado = new Scanner(System.in);
![Page 31: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/31.jpg)
A Classe Scanner
• Finalmente, podemos usar o elemento “teclado” para ler algum valor:
int valor;
valor = teclado.nextInt();
Variável Método de Decodificação para Inteiros
Referência para Decodificador de
Teclado
![Page 32: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/32.jpg)
A Classe Scanner
• Finalmente, podemos usar o elemento “teclado” para ler algum valor:
int valor;
valor = teclado.nextInt();
Variável Método de Decodificação para Inteiros
Referência para Decodificador de
Teclado
nextBoolean() nextByte() nextShort()
nextInt()
nextLong() nextFloat()
nextDouble() nextLine()
![Page 33: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/33.jpg)
A Classe Scanner UmPrograma.java
package umprograma; import java.util.Scanner; class UmPrograma { public static void main(String[] args) { int valor; Scanner teclado; teclado = new Scanner(System.in); valor = teclado.nextInt(); System.out.println(“Valor lido: ” + valor); } }
![Page 34: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/34.jpg)
A Classe Scanner UmPrograma.java
package umprograma; import java.util.Scanner; class UmPrograma { public static void main(String[] args) { int valor; Scanner teclado; teclado = new Scanner(System.in); System.out.println(“Digite um número inteiro: ”); valor = teclado.nextInt(); System.out.println(“Valor lido: ” + valor); } }
![Page 35: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/35.jpg)
Scanner para ler Strings UmPrograma.java
package umprograma; import java.util.Scanner; class UmPrograma { public static void main(String[] args) { String seuNome; Scanner teclado = new Scanner(System.in); System.out.println(“Digite seu nome: ”); seuNome = teclado.nextLine(); System.out.println(“Olá, ” + seuNome + “.”); } }
![Page 36: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/36.jpg)
ENTRADA E SAÍDA DE DADOS EM JANELA:
A CLASSE JOPTIONPANE
![Page 37: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/37.jpg)
A Classe JOptionPane
• Classe JOptionPane:
– “programa” de entrada/saída por janela
– Está no pacote javax.swing → import
• Entrada simples, sempre retorna uma string:
String texto;
texto= JOptionPane.showInputDialog(
“Digite um número:”);
![Page 38: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/38.jpg)
A Classe JOptionPane
• Saída simples, imprime string:
JOptionPane.showMessageDialog(null,
“Um texto qualquer”);
![Page 39: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/39.jpg)
IMPRIMINDO NÚMEROS FORMATADOS
![Page 40: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/40.jpg)
Números Formatados
• Números formatados: format ou (printf)
System.out.format(“Um texto %d”, var);
• Código de controle, composto por:
%0C.DT • % - indica início do código de controle
• 0 – Indica se deve haver preenchimento de zeros
• C – Número de caracteres à esquerda da vírgula
• D – Número de caracteres à direita da vírgula
• T – Tipo de dado: d, f ou s ..... %n?
![Page 41: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/41.jpg)
Números Formatados
• Exemplos de Format
– int n = 67;
System.out.format(“%d”, n); 67
System.out.format(“%04d”, n); 0067
– float m = 3.141592;
System.out.format(“%f”, m); 3.141592
System.out.format(“%02f”, m); 03.141592
System.out.format(“%2.3f”, m); 3.142
![Page 42: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/42.jpg)
“CASTING”: CONVERSÃO DE TIPOS DE DADOS
![Page 43: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/43.jpg)
Type Casting • Guardar valor de um tipo em variável de outro
long a = 1000000000L;
int b = a;
– Vai dar um problemão!
• Perda de precisão se dá na seguinte ordem:
double → float → long → int → short → byte
![Page 44: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/44.jpg)
Casting Implícito • Quando fazemos “contas” com números
double a;
a = 2*7/3;
– Vai dar um problemão!
• Atenção para a diferença:
double a;
a = 2.0*7.0/3.0;
![Page 45: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/45.jpg)
Casting Explícito • Quando forçamos um tipo
int a;
a = 2.0*7.0/3.0;
– Vai dar erro!
• Atenção para a diferença:
int a;
a = (int)(2.0*7.0/3.0);
![Page 46: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/46.jpg)
E String para Número? • Existem funções prontas
String sNum = “100”;
int iNum = Integer.parseInt(sNum);
long lNum = Long.parseLong(sNum);
String sNum2 = “100.17”;
float fNum = Float.parseFloat(sNum2);
double dNum = Double.parseDouble(sNum2);
• E número para string?
String sNum = “Numero: ” + iNum;
![Page 47: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/47.jpg)
PERGUNTAS?
![Page 48: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/48.jpg)
PARTE PRÁTICA
![Page 49: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/49.jpg)
Construindo um Jogo Simples
• Vamos construir um jogo de adivinhação bem simples, usando vários dos elementos que foram vistos hoje:
– String
– Scanner
– Casting
– while
![Page 50: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/50.jpg)
ATIVIDADES
![Page 51: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/51.jpg)
Atividade 1
• Crie um projeto chamado Adivinhacao2
• Copie o “corpo” da função main do código Adivinhacao para o main do Adivinhacao2
• Altere o programa para imprimir o número de tentativas usadas quando o jogador conseguir acertar o valor correto.
![Page 52: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/52.jpg)
Atividade 2
• Crie um projeto chamado Adivinhacao3
• Copie o “corpo” da função main do código Adivinhacao2 para o main do Adivinhacao3
• Altere o programa para permitir que o jogador tente apenas três chutes. Após o terceiro chute incorreto, o jogo deverá apresentar o número correto e informar ao jogador que ele não conseguiu acertar.
![Page 53: PROGRAMAÇÃO I INGUAGEM DE PROGRAMAÇÃO JAVA II Estrutura do Código •Programa em C/C++ programa.cpp funcao1 main funcao2 funcao3 •Programa em Java projeto.exe Projeto.java metodo1](https://reader034.vdocuments.com.br/reader034/viewer/2022050209/5f5c1a568c3c4164ed59bb1a/html5/thumbnails/53.jpg)
Atividade 3
• Crie um projeto chamado Adivinhacao4
• Copie o “corpo” da função main do código Adivinhacao3 para o main do Adivinhacao4
• Altere o programa para usar os componentes JOptionPane para fazer a entrada e a saída de dados.