PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA II

Documentos relacionados
PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Sintaxe Básica do Java. João Paulo Q. dos Santos

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Seleção Múltipla Laços (while, do-while, for) AULA 05

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Desenvolvendo aplicações Java

Vetores Unimensionais

Capturando Entrada de Dados Através do Teclado

JAVA. Professor: Bruno Toledo

LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Vetores Unimensionais

Linguagem de Programação JAVA. Tiago Alves de Oliveira

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Algoritmos I Aula 14 Java: estruturas de seleção e repetição

BC-0505 Processamento da Informação

Comando de Seleção em Java

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Linguagem de programação Java

Operadores e Estruturas de Decisão. Vanessa Braganholo

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Organização de programas em Java

Linguagem Java - Introdução

PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS

Arrays em Java. Introdução à Programação. Bruno Cartaxo

Estruturas de Repetição e String

Programação de Computadores para GI

Algoritmos e Programação

Organização de programas em Java

Estruturas de Repetição e String. Vanessa Braganholo

Aula de PG Novembro de 2013, LT14D e LT11D - Sobre o Tipo String do Java

PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB RETOMANDO: JAVA E CLASSES. Prof. Dr. Daniel Caetano

Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano

Tipos primitivos de Java Entrada de Dados Formatação da Saída. Aula 03

Operadores e Estruturas de Decisão

Variáveis Compostas. Vanessa Braganholo

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Classes, instâncias e métodos de acesso. prática

1 Da aula teórica ao Java

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

Programação Orientada a Objetos II

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Organização de programas em Java

Programação Estruturada

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

CONTEÚDO 04 VETORES. Disciplina: Algoritmos e POO Professora: Alba Lopes.

Estruturas de Repe,ção e String

Sintaxe Básica de Java Parte 2

Orientação a Objetos e Java

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Variáveis primitivas e Controle de fluxo

Lógica de Programação. Lógica de Programação com Java

Programação Estruturada e Orientada a Objetos

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Análise de Programação

Vetores Unimensionais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch

public class ExecScanner1 { public static void main(string[] args) { // TODO code application logic here

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Lição 4 Fundamentos da programação

Universidade Federal de Goiás Instituto de Informática 1ª Prova de Introdução a Programação 06/04/11

Sintaxe da linguagem Java

JAVA. Fabrício de Sousa

Estruturas de Controle

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Laboratório de Programação II

Ambientação com a Sintaxe de Java: parte 1

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

2 Orientação a objetos na prática

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

Transcrição:

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA II Prof. Dr. Daniel Caetano 2017-1

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

Material de Estudo Material Apresentação Acesso ao Material http://www.caetano.eng.br/ (Programação I Aula 2) Material Didático Programação I Págs 30 a 43

O QUE JÁ VIMOS SOBRE A ESTRUTURA DO JAVA

Estrutura do Código Programa em C/C++ Programa em Java projeto.exe programa.cpp main projeto.jar Pacote Projeto Pacote funcao1 Projeto.java main Classe funcao2 metodo1 funcao3

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

Estrutura de um Código Java Arquivo: Projeto.java Indica o pacote SEMPRE a primeira coisa! Conteúdo da Classe

ESTRUTURAS DE CONTROLE DE FLUXO ADICIONAIS

Estruturas de Seleção Já recordamos Início N F N%2 = 0 V É Ímpar! É Par! Fim

Estruturas de Seleção Já recordamos: if ~ else

Estruturas de Seleção switch ~ case: igual em C/C++

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 R == 0 V Imprime Algo R == 0 V Imprime Algo F F Diferença: para onde vai a execução depois?

Repetição Simples na Prática Início N N < 6.0 V Início N N < 6.0 V Repetição: decisão do tipo enquanto isso for verdadeiro, continue repetindo! F Reprovado F Reprovado O que ocorre no código ao lado? Fim Fim

Repetindo Código 10 Vezes Observe o fluxograma Início X = 0 X < 10 V X Vale:, X F Fim X = X + 1

Estruturas de Repetição while: igual em C/C++

Estruturas de Repetição for: igual em C/C++

Estruturas de Repetição do ~ while: igual em C/C++

VARIÁVEIS NÃO NATIVAS : ARMAZENANDO TEXTOS EM VARIÁVEIS

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

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);

Imprimindo Strings

Somando Strings

Imprimindo Soma de Strings

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):

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...

Como saber que métodos existem? Documentação No NetBeans, digite o nome da variável seguido de ponto (.) e aguarde alguns instantes...

ENTRADA DE DADOS: A CLASSE SCANNER

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...

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

A Classe Scanner Em seguida, é necessário carregar o programa, alocando memória para ele: Classe Decodificadora Teclado, Arquivo, Rede... teclado = new Scanner(System.in); Nome da Referência Comando de Alocação Classe que Indica a Origem dos Dados Scanner teclado = new Scanner(System.in);

A Classe Scanner Finalmente, podemos usar o elemento teclado para ler algum valor: int valor; valor = teclado.nextint(); Variável Referência para Decodificador de Teclado Método de Decodificação para Inteiros

A Classe Scanner Finalmente, podemos usar o elemento teclado para ler algum valor: int valor; valor = teclado.nextint(); Variável nextboolean() nextbyte() nextshort() nextint() Referência para Decodificador de Teclado Método de Decodificação para Inteiros nextlong() nextfloat() nextdouble() nextline()

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); }

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); }

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 +. ); }

ENTRADA E SAÍDA DE DADOS EM JANELA: A CLASSE JOPTIONPANE

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: );

A Classe JOptionPane Saída simples, imprime string: JOptionPane.showMessageDialog(null, Um texto qualquer );

IMPRIMINDO NÚMEROS FORMATADOS

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?

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

CASTING : CONVERSÃO DE TIPOS DE DADOS

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

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;

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);

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;

PERGUNTAS?

PARTE PRÁTICA

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

ATIVIDADES

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.

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.

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.