You are on page 1of 43

Captulo 3

A Construo de
Aplicativos

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Palavras reservadas

abstract
boolean
break
byte
case
catch
char
class
const
continue

Rui Rossi dos Santos

default
do
double
else
extends
false
final
finally
float
for

goto
if
implements
import
instanceof
int
interface
long
native
new

null
package
private
protected
public
return
short
static
super
switch

Programao de Computadores em Java

synchronized
this
throw
throws
transient
true
try
void
volatile
while

Editora NovaTerra

Introduo Linguagem Java


 Identificadores
 Finalidade: nomear classes, objetos, atributos, mtodos,
parmetros, variveis e constantes.
 Distino entre maisculo e minsculo
Total != total != TOTAL

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Identificadores
 Convenes: regras para a padronizao
 Classe:
o 1 caractere de cada palavra maisculo
o Ex.: Validador, GravadorDeArquivo.

 Atributos, mtodos e parmetros:


o 1 caractere da primeira palavra minsculo
o 1 caractere de palavras subseqentes maisculo
o Ex.: codigoDeBarras, imprimirNomeCompleto.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Identificadores
 Convenes: regras para a padronizao
 Objetos e variveis:
o Apenas caracteres minsculos
o Palavras separadas por sublinhados
o Ex.: nome_completo, valor_original e desconto.

 Constantes:
o Apenas caracteres maisculos
o Palavras separadas por sublinhados
o Ex.: COFINS, VALOR_PI, RGB_AMARELO.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Separadores

Smbolo
.
,
;
()
{}
[]
Rui Rossi dos Santos

Nome
Ponto
Vrgula
Ponto-e-vrgula
Parnteses
Chaves
Colchetes

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Separadores
 O ponto separa:
 Classes de seus mtodos e atributos
System.out.println(Bem-vindo ao Java);

 Objetos de seus mtodos e atributos


 Casas decimais em nmero de ponto flutuante
55.67

 Pacotes de subpacotes e classes em instrues import


import javax.swing.JOptionPane;

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Separadores
 A vrgula separa:
 Declarao de mltiplas variveis
double valor_principal, desconto, valor_total;

 Parmetros na assinatura de mtodos


public double somar(double v1, double v2)

 Argumentos na invocao de mtodos


somar(546.38, 329.11);

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Separadores
 O ponto-e-vrgula usado para:
 Separar as trs declaraes do lao for
for(int contador = 0; contador <= 10; contador++)

 Indicar o final de uma instruo


System.out.println(contador);

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Separadores
 Os parnteses so usados para:
 Delimitar os parmetros na assinatura de mtodos
public double somar(double v1, double v2)

 Delimitar os argumentos na invocao de mtodos


somar(546.38, 329.11);

 Alterar a precedncia de operaes em expresses


int it = 2 * (3 + 5);

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Separadores
 As chaves delimitam:
 O corpo de uma classe
 O corpo de um mtodo
 Instrues de estruturas de deciso
 Instrues de estruturas de repetio
 Um escopo local
 Um conjunto de valores a ser atribudo a um vetor
 Um conjunto de valores a ser atribudo a uma matriz

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo 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 lao while
}//Fim do mtodo main
}//Fim da classe

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Separadores
 Os colchetes so utilizados para:
 Declarao de vetores e matrizes
int[] vetor;
int vetor[];

 Inicializao de vetores e matrizes


vetor = new int[2];

 Atribuir valor a uma posio de um vetor ou matriz


vetor[0] = 3;
vetor[1] = 6;

 Recuperar valor de uma posio de um vetor ou matriz


int soma = vetor[0] + vetor[1]

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Introduo Linguagem Java


 Comentrios
 Observaes e anotaes
 Ignorados pelo compilador
 Tipos
 De uma nica linha
System.out.println(st);//Imprime o contedo de st

 De mltiplas linhas
/*
Esse mtodo realiza duas operaes:
- Calcula a mdia aritmtica simples dos valores.
- Arredonda e retorna o resultado.
*/

 De documentao
/** */

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
 Conceito: programas executveis
 Modos de interao com o usurio:
 Textual
 Grfico

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
Cdigo 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

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
 A declarao import
 Corresponde declarao include co C/C++
 Corresponde clusula uses do Pascal
 Condicionada necessidade
 Uma declarao import para cada componente ou pacote
import javax.swing.JOptionPane;
import javax.swing.*;

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
o Erro comum: esquecer a importao de recurso utilizado
Cdigo 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);//Importao implcita de java.lang
7
}
8 }

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
 Aplicativo = componentes que se comunicam entre si
 Classes
 Interfaces
 A declarao de uma classe
 Encapsulamento: public (opcional)
 Termo class (obrigatrio)
 Identificador (obrigatrio)
 Delimitao do corpo com chaves (obrigatrio)
public class BemVindo {
}

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
o Erro comum: nomes diferentes para o arquivo e classe pblica
Cdigo 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);//Importao implcita de java.lang
9
}
10 }

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
 Composio das classes
 Atributos
 Mtodos
 Composio de um aplicativo
 Uma de suas classes deve conter o mtodo main( )
 Pode conter um nmero adicional ilimitado de classes
 O mtodo main( )
 Torna a classe executvel
 Contm as instrues que sero executadas
public static void main(String[] args) {
}

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Aplicativos
 Erro comum: executar classe que no possui o mtodo main
 Resultado: uma mensagem de erro exibida
Exception in Thread 'main'
java.lang.NoSuchMethodError: main

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


 A classe System
 Mtodos teis:
System.exit(0);
System.gc( );

Tipo

Descrio

Localizao java.lang.System
Superclasse java.lang.Object
Descrio Contm atributos e mtodos teis para a realizao de operaes de
sistema.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Sada 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 avana uma linha
System.out.printf( );//Imprime e permanece na linha

Atributo
err
in
out

Rui Rossi dos Santos

Descrio
Atributo esttico do tipo PrintStream que representa o fluxo padro de sada
de erros
Atributo esttico do tipo InputStream que representa o fluxo padro de entrada
de dados
Atributo esttico do tipo PrintStream que representa o fluxo padro de sada
de dados

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


 Sequncias de escape

Seqncia
\\
\
\n
\r

Descrio
Imprime uma nica barra invertida
Imprime uma aspa dupla
Avana o cursor para a prxima linha
Retorna o cursor ao incio da linha atual

\b

Retorna o cursor um espao na linha atual

\t

Avana o cursor na linha atual at a prxima parada de tabulao

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


Cdigo 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

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


Cdigo 3.5 Saida.java.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


 Valores literais

Tipo de dado

Representao Exemplo

Nmeros inteiros na base decimal

11

Nmeros inteiros na base hexadecimal

0xv

0xB

Nmeros inteiros na base octal

0v

13

Nmeros inteiros longos

vL

11L

Nmeros reais de preciso simples

v.vf

24.2f

Nmeros reais de preciso dupla

v.v

55.6

Valores lgicos

true

Caracteres

Texto

Ana Carolina

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


Cdigo 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 - preciso simples:\t" + 24.2f);
9
System.out.println("Real - preciso dupla:\t\t" + 24.2);
10
System.out.println("Tipo lgico:\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

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


Cdigo 3.6 Literais.java.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


 Sada formatada
 Recurso adicionado ao JSE 5.0
 Implica no uso de especificadores de formato
 Cada especificador marca uma posio
System.out.printf(%s um %s,Plato, Filsofo);
Sada: Plato um Filsofo

Rui Rossi dos Santos

Especificador

Tipo de dado

%s

Texto

%c

Caractere

%d

Nmero inteiro

%f

Nmero de ponto flutuante

%b

Valor booleano

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


Cdigo 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 nmero inteiro: %d",123);
10
System.out.println( );
11
System.out.printf("Um nmero 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

Programao de Computadores em Java

Editora NovaTerra

Sada de Dados no Modo Textual


Cdigo 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 nmeros:\t\t%d e %d \n",2, 22);
6
System.out.printf("O nmero %d equivale letra %c \n",65, 'A');
7
8
System.out.println( );
9
}
10
}

Rui Rossi dos Santos

Programao 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

Programao de Computadores em Java

Editora NovaTerra

Entrada de Dados no Modo Textual


Cdigo 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

Programao de Computadores em Java

Editora NovaTerra

Entrada de Dados no Modo Textual


Cdigo 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

Programao de Computadores em Java

Editora NovaTerra

Entrada e Sada de Dados com Dilogos Grficos


 Classe: javax.swing.JOptionPane
 Entrada de dados
String nm = JOptionPane.showInputDialog(null,"Informe seu
nome");
 Sada de dados
JOptionPane.showMessageDialog(null,"Bem-vindo!");

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Entrada e Sada de Dados com Dilogos Grficos


Cdigo 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

Programao de Computadores em Java

Editora NovaTerra

Exerccio 1
 Crie um novo aplicativo, chamado Exercicio0301, que apresente a
tabuada do nmero 9 utilizando uma disposio idntica da figura
abaixo para organizar todos os dados. Note que estes dados esto
divididos em dois grandes blocos e que algumas colunas de
nmeros esto alinhadas direita.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Exerccio 2
 Crie um novo aplicativo, chamado Exercicio0302, que solicite o
nome e o e-mail ao seu usurio e que, ao final, apresente estes dois
dados tal como se fosse uma confirmao de cadastro. As sadas
produzidas por este aplicativo devem ser idnticas quelas
apresentadas na figura abaixo. Alm disso, voc deve implementar
este aplicativo sem utilizar a classe java.util.Scanner. Ao invs
desta classe, o aplicativo deve captar a entrada de dados atravs
do outro procedimento apresentado neste captulo.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Exerccio 3
 Crie um novo aplicativo, chamado Exercicio0303, que solicite o
nome, a nacionalidade e o telefone de seu usurio e que, ao final,
apresente estes trs dados tal como se fosse uma confirmao de
cadastro. As sadas produzidas por este aplicativo devem ser
idnticas quelas apresentadas na figura abaixo. Alm disso, voc
deve implementar este aplicativo utilizando a classe
java.util.Scanner para captar as entradas de dados.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

Exerccio 4
 Crie um novo aplicativo, chamado Exercicio0304, que solicite o
nome dos dois jogos prediletos de seu usurio e que, ao final,
apresente estes dois dados atravs de uma nica mensagem
grfica. Este aplicativo tambm deve captar os dois dados atravs
de dilogos grficos, como encontra-se ilustrado nas figuras abaixo.

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

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

Rui Rossi dos Santos

Programao de Computadores em Java

Editora NovaTerra

You might also like