+ All Categories
Home > Documents > Capítulo 3 - ruirossi.pro.br · Introdução àLinguagem Java Separadores O ponto separa: Classes...

Capítulo 3 - ruirossi.pro.br · Introdução àLinguagem Java Separadores O ponto separa: Classes...

Date post: 03-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
48
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Cap Cap í í tulo 3 tulo 3 A Constru A Constru ç ç ão de ão de Aplicativos Aplicativos
Transcript

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

CapCapíítulo 3tulo 3A ConstruA Construçção de ão de

AplicativosAplicativos

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Introdução à Linguagem Java

� Palavras reservadas

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Introdução à Linguagem Java

� Separadores

Símbolo Nome

. Ponto

, Vírgula

; Ponto-e-vírgula

( ) Parênteses

{} Chaves

[] Colchetes

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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;

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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]

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

/** */

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Aplicativos

� Conceito: programas executáveis

� Modos de interação com o usuário:

� Textual

� Gráfico

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

AplicativosCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Aplicativos

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 }

o Erro comum: esquecer a importação de recurso utilizado

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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 {

}

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Aplicativos

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 }

o Erro comum: nomes diferentes para o arquivo e classe pública

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

}

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Entrada de Dados Através de Argumentos

� Na execução do aplicativo

� Adicionam-se os argumentos separados por espaço

� Deliminar com aspas os argumentos que contém espaço

java Argumento Rui

java Argumento “Rui Rossi”

java JogosPreferidos Xadrez Gamão “Jogo da Velha”

� Na recuperação:

� Os argumentos são gravados no vetor args

� Cada argumento ocupa uma posição

� Primeiro argumento = args[0]

� Segundo argumento = args[1]

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Entrada de Dados Através de ArgumentosCódigo 3.3 – Argumento.java.

1 public class Argumento {

2 public static void main(String[] args) {

3 System.out.print(args[0]);

4 System.out.println(": seja bem-vindo!");

5 System.out.println();

6 }

7 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Entrada de Dados Através de Argumentos

� Erro comum: esquecer de informar um argumento que é esperado

� Resultado: uma mensagem de erro é exibida

Exception in Thread 'main'

java.lang.ArrayIndexOutOfBoundsException: 0

at Argumento.main(Argumento.java:3)

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Entrada de Dados Através de ArgumentosCódigo 3.4 – JogosPreferidos.java.

1 public class JogosPreferidos {

2 public static void main(String[] args) {

3 System.out.println();

4 System.out.println("Meus jogos preferidos:");

5 System.out.println("1. " + args[0]);

6 System.out.println("2. " + args[1]);

7 System.out.println("3. " + args[2]);

8 System.out.println();

9 }

10 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo Textual

� A classe System

� Atributos:

System.err

System.in

System.out

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 Descrição

err

in

out

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo TextualCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo TextualCódigo 3.5 – Saida.java.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo Textual

� Valores literais

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”

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo TextualCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo TextualCódigo 3.6 – Literais.java.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo TextualCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Saída de Dados no Modo TextualCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Entrada de Dados no Modo TextualCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Entrada de Dados no Modo TextualCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Entrada e Saída de Dados com Diálogos GráficosCó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 }

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 1

� Crie um novo aplicativo, chamado Exercicio0301, que capte o nome

de cinco animais através de argumentos inseridos na própria janela

de comando e que liste todos os dados informados do modo como

está representado na figura abaixo.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 2

� Crie um novo aplicativo, chamado Exercicio0302, 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.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 3

� Crie um novo aplicativo, chamado Exercicio0303, 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.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 4

� Crie um novo aplicativo, chamado Exercicio0304, 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.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Exercício 5

� Crie um novo aplicativo, chamado Exercicio0305, 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.

Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Contato

Com o autor:

Rui Rossi dos Santos

E-mail: [email protected]

Web Site: http://www.ruirossi.pro.br

Com a editora:

Editora NovaTerra

Telefone: (21) 2218-5314

Web Site: http://www.editoranovaterra.com.br


Recommended