Introdução à Linguagem Java

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

Linguagem de Programação II Implementação

Linguagem Java - Introdução

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Análise de Programação

Programação Estruturada e Orientada a Objetos

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

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

MsC. João Maria MsC. Liviane Melo

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

Palavras Reservadas da Linguagem Java

Lição 4 Fundamentos da programação

Programação de Computadores II TCC Turma A-1

Módulo 03. Identificadores, Palavras Reservadas, e Tipos

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

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

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

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

JAVA. Professor: Bruno Toledo

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

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

Sintaxe da linguagem Java

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

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

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

Orientação a Objetos e Java

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU

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

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

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Algoritmos I Aula 13 Linguagem de Programação Java

PROGRAMADOR JAVA. Aula 0X32 Semanas - 0b Instrutor : Léo Billi

Linguagem de Programação III

Variáveis primitivas e Controle de fluxo

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

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

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

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

3. Linguagem de Programação C

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

Diagramas Sintáticos

Tratamento de Exceções

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

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

A Linguagem C. A forma de um programa em C

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Programação Estruturada

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

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

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

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Programação Orientada a Objeto Java

Programação científica C++

Programação de Computadores para GI

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

Linguagem de Programação II Implementação

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

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo

Linguagem de programação Java

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

insfcanceof new public switch transient while byte continue extends for int null

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

PROGRAMAÇÃO JAVA. Parte 2

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

Linguagens de Programação

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Sintaxe Básica de Java Parte 2

4. Estruturas Fundamentais de Programação em C

Organização de programas em Java

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Algoritmos II prof. Daniel Oliveira

Linguagem C Princípios Básicos (parte 1)

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Algoritmos e Programação

A Linguagem Java. Alberto Costa Neto DComp - UFS

Programação de Computadores - I. Profª Beatriz Profº Israel

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

Transcrição:

Capítulo 3 A Construção de Aplicativos Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Palavras reservadas Introdução à Linguagem Java abstract default goto null synchronized boolean do if package this break double implements private throw byte else import protected throws case extends instanceof public transient catch false int return true char final interface short try class finally long static void const float native super volatile continue for new switch while

Introdução à Linguagem Java Identificadores Finalidade: nomear classes, objetos, atributos, métodos, parâmetros, variáveis e constantes. Distinção entre maiúsculo e minúsculo Total!= total!= TOTAL

Introdução à Linguagem Java Identificadores Convenções: regras para a padronização Classe: o 1º caractere de cada palavra maiúsculo o Ex.: Validador, GravadorDeArquivo. Atributos, métodos e parâmetros: o 1º caractere da primeira palavra minúsculo o 1º caractere de palavras subseqüentes maiúsculo o Ex.: codigodebarras, imprimirnomecompleto.

Introdução à Linguagem Java Identificadores Convenções: regras para a padronização Objetos e variáveis: o Apenas caracteres minúsculos o Palavras separadas por sublinhados o Ex.: nome_completo, valor_original e desconto. Constantes: o Apenas caracteres maiúsculos o Palavras separadas por sublinhados o Ex.: COFINS, VALOR_PI, RGB_AMARELO.

Introdução à Linguagem Java Separadores Símbolo Nome. Ponto, Vírgula ; Ponto-e-vírgula ( ) Parênteses {} Chaves [] Colchetes

Introdução à Linguagem Java Separadores O ponto separa: Classes de seus métodos e atributos System.out.println( Bem-vindo ao Java ); Objetos de seus métodos e atributos Casas decimais em número de ponto flutuante 55.67 Pacotes de subpacotes e classes em instruções import import javax.swing.joptionpane;

Introdução à Linguagem Java Separadores A vírgula separa: Declaração de múltiplas variáveis double valor_principal, desconto, valor_total; Parâmetros na assinatura de métodos public double somar(double v1, double v2) Argumentos na invocação de métodos somar(546.38, 329.11);

Introdução à Linguagem Java Separadores O ponto-e-vírgula é usado para: Separar as três declarações do laço for for(int contador = 0; contador <= 10; contador++) Indicar o final de uma instrução System.out.println(contador);

Introdução à Linguagem Java Separadores Os parênteses são usados para: Delimitar os parâmetros na assinatura de métodos public double somar(double v1, double v2) Delimitar os argumentos na invocação de métodos somar(546.38, 329.11); Alterar a precedência de operações em expressões int it = 2 * (3 + 5);

Introdução à Linguagem Java Separadores As chaves delimitam: O corpo de uma classe O corpo de um método Instruções de estruturas de decisão Instruções de estruturas de repetição Um escopo local Um conjunto de valores a ser atribuído a um vetor Um conjunto de valores a ser atribuído a uma matriz

Introdução à Linguagem Java Separadores Exemplo com chaves: public class ContagemRegressiva { public static void main(string[] args) { int it = Integer.parseInt(args[0]); while (it > 0) { System.out.println(it); it--; }//Fim do laço while }//Fim do método main }//Fim da classe

Introdução à Linguagem Java Separadores Os colchetes são utilizados para: Declaração de vetores e matrizes int[] vetor; int vetor[]; Inicialização de vetores e matrizes vetor = new int[2]; Atribuir valor a uma posição de um vetor ou matriz vetor[0] = 3; vetor[1] = 6; Recuperar valor de uma posição de um vetor ou matriz int soma = vetor[0] + vetor[1]

Introdução à Linguagem Java Comentários Observações e anotações Ignorados pelo compilador Tipos De uma única linha System.out.println(st);//Imprime o conteúdo de st De múltiplas linhas /* Esse método realiza duas operações: - Calcula a média aritmética simples dos valores. - Arredonda e retorna o resultado. */ De documentação /** */

Aplicativos Conceito: programas executáveis Modos de interação com o usuário: Textual Gráfico

Aplicativos Código 3.1 BemVindo.java. 1 import javax.swing.joptionpane; 2 3 public class BemVindo 4 { 5 public static void main(string[] args) 6 { 7 JoptionPane.showMessageDialog(null,"Bem-vindo ao Java!"); 8 System.exit(0); 9 } 10 }

Aplicativos A declaração import Corresponde à declaração include co C/C++ Corresponde à cláusula uses do Pascal Condicionada à necessidade Uma declaração import para cada componente ou pacote import javax.swing.joptionpane; import javax.swing.*;

Aplicativos o Erro comum: esquecer a importação de recurso utilizado Código 3.2 BemVindo.java. 1 public class BemVindo 2 { 3 public static void main(string[] args) 4 { 5 JoptionPane.showMessageDialog(null,"Bem-vindo ao Java!"); 6 System.exit(0);//Importação implícita de java.lang 7 } 8 }

Aplicativos Aplicativo = componentes que se comunicam entre si Classes Interfaces A declaração de uma classe Encapsulamento: public (opcional) Termo class (obrigatório) Identificador (obrigatório) Delimitação do corpo com chaves (obrigatório) public class BemVindo { }

Aplicativos o Erro comum: nomes diferentes para o arquivo e classe pública Código 3.2 BemVindo.java. 1 import javax.swing.joptionpane; 2 3 public class bemvindo 4 { 5 public static void main(string[] args) 6 { 7 JoptionPane.showMessageDialog(null,"Bem-vindo ao Java!"); 8 System.exit(0);//Importação implícita de java.lang 9 } 10 }

Aplicativos Composição das classes Atributos Métodos Composição de um aplicativo Uma de suas classes deve conter o método main( ) Pode conter um número adicional ilimitado de classes O método main( ) Torna a classe executável Contém as instruções que serão executadas public static void main(string[] args) { }

Aplicativos Erro comum: executar classe que não possui o método main Resultado: uma mensagem de erro é exibida Exception in Thread 'main' java.lang.nosuchmethoderror: main

Saída de Dados no Modo Textual A classe System Métodos úteis: System.exit(0); System.gc( ); Tipo Descrição Localização java.lang.system Superclasse java.lang.object Descrição Contém atributos e métodos úteis para a realização de operações de sistema.

A classe System Atributos: System.err System.in System.out Saída de Dados no Modo Textual System.out.print( );//Imprime e permanece na linha System.out.println( );//Imprime e avança uma linha System.out.printf( );//Imprime e permanece na linha Atributo err in out Descrição Atributo estático do tipo PrintStream que representa o fluxo padrão de saída de erros Atributo estático do tipo InputStream que representa o fluxo padrão de entrada de dados Atributo estático do tipo PrintStream que representa o fluxo padrão de saída de dados

Saída de Dados no Modo Textual Sequências de escape Seqüência Descrição \\ Imprime uma única barra invertida \ Imprime uma aspa dupla \n Avança o cursor para a próxima linha \r Retorna o cursor ao início da linha atual \b Retorna o cursor um espaço na linha atual \t Avança o cursor na linha atual até a próxima parada de tabulação

Saída de Dados no Modo Textual Código 3.5 Saida.java. 1 public class Saida { 2 public static void main(string[] args) { 3 System.out.println( ); 4 5 System.out.print("Um caractere:\t\t"); 6 System.out.print('A'); 7 System.out.print("\n"); 8 9 System.out.print("Um numero inteiro:\t"); 10 System.out.print(123); 11 System.out.print("\n"); 12 13 System.out.println("Um numero decimal:\t" + 4.3); 14 System.out.println("Um valor booleano:\t" + true); 15 System.out.println("Uma barra invertida:\t\\"); 16 System.out.println("Um texto entre aspas:\t" + "\"Rui\""); 17 18 System.out.println( ); 19 } 20 }

Código 3.5 Saida.java. Saída de Dados no Modo Textual

Valores literais Saída de Dados no Modo Textual Tipo de dado Representação Exemplo Números inteiros na base decimal v 11 Números inteiros na base hexadecimal 0xv 0xB Números inteiros na base octal 0v 13 Números inteiros longos vl 11L Números reais de precisão simples v.vf 24.2f Números reais de precisão dupla v.v 55.6 Valores lógicos v true Caracteres v H Texto v Ana Carolina

Saída de Dados no Modo Textual Código 3.6 Literais.java. 1 public class Literais { 2 public static void main(string[] args) { 3 System.out.println(); 4 System.out.println("Inteiro - decimal:\t\t" + 11); 5 System.out.println("Inteiro - hexadecimal:\t\t" + 0xB); 6 System.out.println("Inteiro - octal:\t\t" + 013); 7 System.out.println("Inteiro - longo:\t\t" + 11L); 8 System.out.println("Real - precisão simples:\t" + 24.2f); 9 System.out.println("Real - precisão dupla:\t\t" + 24.2); 10 System.out.println("Tipo lógico:\t\t\t" + true); 11 System.out.println("Caractere:\t\t\t" + 'H'); 12 System.out.println("Texto:\t\t\t\t" + "Ana"); 13 System.out.println(); 14 } 15 }

Código 3.6 Literais.java. Saída de Dados no Modo Textual

Saída de Dados no Modo Textual Saída formatada Recurso adicionado ao JSE 5.0 Implica no uso de especificadores de formato Cada especificador marca uma posição System.out.printf( %s é um %s, Platão, Filósofo ); Saída: Platão é um Filósofo Especificador Tipo de dado %s Texto %c Caractere %d Número inteiro %f Número de ponto flutuante %b Valor booleano

Saída de Dados no Modo Textual Código 3.7 SaidaFormatada.java. 1 public class SaidaFormatada { 2 public static void main(string[] args) { 3 System.out.println( ); 4 5 System.out.printf("Um caractere: %c",'a'); 6 System.out.println( ); 7 System.out.printf("Um texto: %s","java em todos os lugares"); 8 System.out.println( ); 9 System.out.printf("Um número inteiro: %d",123); 10 System.out.println( ); 11 System.out.printf("Um número decimal: %f",4.55); 12 System.out.println( ); 13 System.out.printf("Um valor booleano: %b",true); 14 System.out.println( ); 15 16 System.out.println( ); 17 } 18 }

Saída de Dados no Modo Textual Código 3.8 SaidaFormatadaEscape.java. 1 public class SaidaFormatadaEscape { 2 public static void main(string[] args) { 3 System.out.println( ); 4 5 System.out.printf("Dois números:\t\t%d e %d \n",2, 22); 6 System.out.printf("O número %d equivale à letra %c \n",65, 'A'); 7 8 System.out.println( ); 9 } 10 }

Entrada de Dados no Modo Textual Utilizando a classe java.lang.system byte[] bt = new byte[50]; System.in.read(bt); String nome = new String(bt).trim(); Utilizando a classe java.util.scanner (JSE 5.0) Scanner scan = new Scanner(System.in); String nome = scan.nextline();

Entrada de Dados no Modo Textual Código 3.9 Entrada.java. 1 import java.io.ioexception; 2 3 public class Entrada { 4 public static void main(string[] args) throws IOException { 5 System.out.print("\nInforme seu nome: "); 6 byte[] bt = new byte[50]; 7 System.in.read(bt); 8 String nome = new String(bt).trim(); 9 System.out.printf("%s: seja bem-vindo!\n\n", nome); 10 } 11 }

Entrada de Dados no Modo Textual Código 3.10 EntradaScanner.java. 1 import java.util.scanner; 2 3 public class EntradaScanner { 4 public static void main(string[] args) { 5 Scanner scan = new Scanner(System.in); 6 7 System.out.print("\nInforme seu nome:\t"); 8 String nome = scan.nextline(); 9 10 System.out.print("Informe seu e-mail:\t"); 11 String email = scan.nextline(); 12 13 System.out.println("\nDados recebidos:"); 14 System.out.printf("Nome:\t %s \ne-mail:\t %s\n\n",nome,email); 15 } 16 }

Entrada e Saída de Dados com Diálogos Gráficos Classe: javax.swing.joptionpane Entrada de dados String nm = JOptionPane.showInputDialog(null,"Informe seu nome"); Saída de dados JOptionPane.showMessageDialog(null,"Bem-vindo!");

Entrada e Saída de Dados com Diálogos Gráficos Código 3.11 DialogoGrafico.java. 1 import javax.swing.joptionpane; 2 3 public class DialogoGrafico { 4 public static void main(string[] args) { 5 String nm = JOptionPane.showInputDialog(null,"Informe seu nome"); 6 JOptionPane.showMessageDialog(null,nm + ": seja bem-vindo!"); 7 System.exit(0); 8 } 9 }

Exercício 1 Crie um novo aplicativo, chamado Exercicio0301, que apresente a tabuada do número 9 utilizando uma disposição idêntica à da figura abaixo para organizar todos os dados. Note que estes dados estão divididos em dois grandes blocos e que algumas colunas de números estão alinhadas à direita.

Exercício 2 Crie um novo aplicativo, chamado Exercicio0302, que solicite o nome e o e-mail ao seu usuário e que, ao final, apresente estes dois dados tal como se fosse uma confirmação de cadastro. As saídas produzidas por este aplicativo devem ser idênticas àquelas apresentadas na figura abaixo. Além disso, você deve implementar este aplicativo sem utilizar a classe java.util.scanner. Ao invés desta classe, o aplicativo deve captar a entrada de dados através do outro procedimento apresentado neste capítulo.

Exercício 3 Crie um novo aplicativo, chamado Exercicio0303, que solicite o nome, a nacionalidade e o telefone de seu usuário e que, ao final, apresente estes três dados tal como se fosse uma confirmação de cadastro. As saídas produzidas por este aplicativo devem ser idênticas àquelas apresentadas na figura abaixo. Além disso, você deve implementar este aplicativo utilizando a classe java.util.scanner para captar as entradas de dados.

Exercício 4 Crie um novo aplicativo, chamado Exercicio0304, que solicite o nome dos dois jogos prediletos de seu usuário e que, ao final, apresente estes dois dados através de uma única mensagem gráfica. Este aplicativo também deve captar os dois dados através de diálogos gráficos, como encontra-se ilustrado nas figuras abaixo.

Contato Com o autor: Rui Rossi dos Santos E-mail: livros@ruirossi.pro.br Web Site: http://www.ruirossi.pro.br Com a editora: Editora NovaTerra E-mail Geral: contato@editoranovaterra.com.br E-mail Comercial: comercial@editoranovaterra.com.br Web Site: http://www.editoranovaterra.com.br