Chapter 2 - Introduction to Java Applications

Propaganda
Chapter 2 – Introdução à aplicações
Java
Conteúdo
2.1
2.2
Introdução
Um programa Simples : Escrevendo uma linha de texto
2.3
Modificando o primeiro exemplo
2.4
2.5
2.6
Mostrando texto em uma caixa de diálogo
Outra aplicação em Java: adicionando inteiros
Conceitos de memória
2.7
2.8
Aritmética
Comandos de decisão
1
2
2.1
Introdução
• Veremos
– Introdução de exemplos para ilustrar as características da
linguagem Java
– Dois estilos de programas: aplicações e applets
3
2.2 Um programa simples:
Escrevendo uma linha de texto
• Aplicação
– Progama que executa usando o interpretador java
• Programa exemplo
– Veremos o primeiro programa a seguir e depois analisaremos
cada linha de código
4
1
2
3
4
5
6
7
8
9
10
11
12
13
Resumo
// Fig. 2.1: Welcome1.java
// Programa para imprimir um texto.
public class Welcome1 {
Welcome1.java
// metodo principal inicia execucao de uma aplicacao java
public static void main( String args[] )
{
System.out.println( "Welcome to Java Programming!" );
} // final do metodo main
} // final da classe Welcome1
Welcome to Java Programming!
Saída do
programa
Note que os números de linha não são parte do
programa e só foram adicionados para referência
5
2.2 Um programa simples:
Escrevendo uma linha de texto
1
// Fig. 2.1: Welcome1.java
– Comentários iniciam com: //
• Comentários são ignorados durante a compilação
• Importantes para a documentação e descrição do código
• Ajudam no entendimento do código
– Comentários tradicionais : /* mesmo de C e C++ */
/* Este e um comentario tradicional.
Ele pode ser
quebrado em varias linhas */
2
// Programa para imprimir um texto.
– Outro comentário
6
2.2 Um programa simples:
Escrevendo uma linha de texto
3
– Linha em branco
• Tornam os programas mais fáceis de serem lidos
• Linhas em branco, espaços, tabulações são caracteres de
espaço em branco
– São todos ignorados pelo compilador
4
public class Welcome1 {
– Inicia a declaração da classe Welcome1
• Todo programa Java possui pelo menos uma classe definida
pelo usuário.
• Palavras reservadas: palavras reservadas para uso de Java
– Class palavra reservada seguida pelo nome da classe
• Nomeando Classes: Inicie sempre com uma letra Maiúscula
– SampleClassName
7
2.2 Um programa simples:
Escrevendo uma linha de texto
4
public class Welcome1 {
– O nome de uma classe é chamado de identificador da classe
• Um identificador é uma série de caracteres consistindo de
letras, dígitos, underline e cifrão ($)
• Não pode iniciar com um dígito e não pode possuir espaços.
• Exemplos: Welcome1, $value, _value, button7
– 7button é inválido
• Java é sensitiva à maiúsculas e minúsculas (case sensitive)
– a1 e A1 são diferentes
– Por enquanto vamos usar a palavra reservada public
• Entraremos nos detalhes depois.
8
2.2 Um programa simples:
Escrevendo uma linha de texto
4
public class Welcome1 {
– Salvando arquivos
• O nome do arquivo deve ser o mesmo nome do identificador
da classe e terminar com extensão .java
• Welcome1.java
– Parênteses esquerdo {
• Inicia o corpo de toda classe
• Parênteses direito termina as declarações (linha 13)
7
public static void main( String args[] )
– Parte de toda aplicação Java
• Aplicações iniciam executando do método main
– Parênteses indicam que main é um método
– Aplicações Java contém um ou mais métodos
9
2.2 Um programa simples:
Escrevendo uma linha de texto
7
public static void main( String args[] )
• Exatamente um método precisa ser chamado main
– Os métodos podem realizar tarefas e retornar informações
• void significa que main não retorna nenhuma informação.
• Void possui o mesmo significado de C e C++
• A partir de agora, chamaremos primeira linha de main
8
{
– Parêntese direito inicia o corpo da declarações de comandos
do método
• Finalizada pelo parênteses direito } (linha 11)
10
2.2 Um programa simples:
Escrevendo uma linha de texto
9
System.out.println( "Welcome to Java Programming!" );
– Instrui o computador a realizar uma ação
• Imprime uma string de caractres
– String – uma série de caracteres dentro de duas aspas.
• Espaços em branco dentro de strings não são ignorados pelo
compilador
– System.out
• Objeto de saída padrão
• Imprime na linha de comandos (i.e., MS-DOS prompt, linux
promt...)
– Método System.out.println
• Exibe uma linha de texto
• O argumento do método é passado entre parênteses
– Esta linha é conhecida como instrução
• Instruções precisam terminar com um ;
11
2.2 Um programa simples:
Escrevendo uma linha de texto
11
} // final do metodo main
– Finaliza a declaração do método
13
} // final da classe Welcome1
– Termina a declaração de classe
– Pode-se adicionar comentários para controlar os fecha
parênteses.
12
2.2 Um programa simples:
Escrevendo uma linha de texto
• Compilando um programa
– Abra uma janela de comandos no seu sistema operacional, e
vá para o diretório onde o programa está armazenado
– Digite: javac Welcome1.java
– Se nenhum erro ocorrer, será criado um arquivo
Welcome1.class
• Este arquivo contém os bytecodes que representam a aplicação.
• Esses bytecodes serão interpretados pelo interpretador java
13
2.2 Um programa simples:
Escrevendo uma linha de texto
• Executando um programa
– Digite na linha de comando: java Welcome1
• O interpretador java carrega o arquivo .class da classe
Welcome1
• A extensão.class é omitida no comando
– O interpretador irá chamar o método main
Fig. 2.2
Executando o Welcome1 em um prompt de comandos do Microsoft Windows XP.
14
2.3
Modificando nosso primeiro programa
em Java
• Modifique o exemplo da Fig. 2.1 para imprimir o
mesmo conteúdo usando código diferente
15
2.3
Modificando nosso primeiro programa
em Java
• Modificando programas
– Welcome2.java (Fig. 2.3) produz a mesma saída de
Welcome1.java (Fig. 2.1) usando diferente código
9
10
System.out.print( "Welcome to " );
System.out.println( "Java Programming!" );
– Linha 9 mostra “Welcome to” com o cursor no final da linha
escrita
– Linha 10 mostra “Java Programming! ” mesma linha com o
cursor na próxima linha.
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Fig. 2.3: Welcome2.java
// Printing a line of text with multiple statements.
Welcome2.java
public class Welcome2 {
// main method begins execution of Java application
public static void main( String args[] )
{
System.out.print( "Welcome to " );
System.out.println( "Java Programming!" );
} // end method main
} // end class Welcome2
Resumo
System.out.print mantém o cursor na
mesma linha, então System.out.println
continua na mesma linha.
1. Comentários
2. Linha em branco
3. Inicio da classe
Welcome2
3.1 Método main
4. Chamada do
método
System.out.prin
t
4.1 Método
System.out.prin
tln
Welcome to Java Programming!
5. final de main e
Welcome2
Saída do programa
17
2.3
Modificando nosso primeiro programa
em Java
• Caracteres de nova linha (\n)
– Interpretados como caracteres especiais pelos métodos
System.out.print e System.out.println
– Indicam que o cursor deve ser posicionado na próxima linha
– Welcome3.java (Fig. 2.4)
System.out.println( "Welcome\nto\nJava\nProgramming!" );
9
– Mesmo que o \n das funções printf em C
• Uso
– Pode ser usado em System.out.println ou
System.out.print para começar uma nova linha
• System.out.println(
"Welcome\nto\nJava\nProgramming!" );
18
Resumo
1
2
3
4
5
6
7
8
9
10
11
12
13
// Fig. 2.4: Welcome3.java
// Printing multiple lines of text with a single statement.
Welcome3.java
public class Welcome3 {
1. main
// main method begins execution of Java application
public static void main( String args[] )
{
System.out.println( "Welcome\nto\nJava\nProgramming!" );
} // end method main
2.
System.out.prin
tln (uses \n for new
line)
} // end class Welcome3
Welcome
to
Java
Programming!
Saída do programa
Note como uma linha é criada para cada \n.
19
2.3
Modificando nosso primeiro programa
em Java
Caracteres de escape
– A barra invertida ( \ ) é chamada caractere de escape
– Indica que um caractere especial deve ser enviado para a saída
Seqüência de Descrição
excape
\n
Nova linha. Posiciona o cursor de tela no início da próxima linha
Tabulação horizontal. Move o cursor de tela para a próxima parada
\t
de tabulação.
\r
Retorno de carro. Posiciona o cursor de tela no início da linha atual
Não avança para a próxima linha. Qaulquer saída de caracteres
depois do retorno de carro sobrescreve a saída anterior.
\\
\"
Impime a Barra invertida
Aspas Duplas. Usado para imprimir o caractere de aspas duplas
System.out.println( " \ "in quotes
mostrará
"in quotes"
Fig. 2.5 Algumas seqüências comuns de escape
\ "" );
20
2.4
Exibindo Texto em uma Janela de
diálogo
• Exibição
– Muitos aplicativos java utilizam janelas ou caixas de diálogo
• Nós usamos até agora a janela de comandos
– A classe JOptionPane permite aos programas usar caixas
de diálogo
• Pacotes
– Conjunto de classes pré-definidas disponíveis para o uso do
programador
– Grupo de classes relacionadas é chamado pacotes
• O grupo de todos os pacotes conhecidos como biblioteca de
classes ou interface de programação de aplicativos Java ( Java
applications programming interface, Java API)
– JOptionPane está no pacote de extensão javax.swing
• Este pacote tem classes para usar interfaces gráficas de usuário
(Graphical User Interfaces GUIs)
21
2.4
Exibindo Texto em uma Janela de
diálogo
• No programa a seguir
–
–
–
–
É uma aplicação que usa caixa de diálogos
Explicação virá depois
Mostra uma outra forma de mostrar uma saída
Pacotes, métodos e GUI
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1// //
Fig.
2.6:
Welcome4.java
Fig.
2.6:
Welcome4.java
// Imprimindo múltiplas linhas em uma caixa de diálogo.
2 // Printing multiple lines in a dialog box
3// import
javax.swing.JOptionPane;
// import class JOptionPane
Pacotes
de extensão de Java
4import javax.swing.JOptionPane; // importa a classe JOptionPane
5 public class Welcome4 {
public class Welcome4 {
6
public static void main( String args] )
// método main começa execução do aplicativo Java
7
{
public static void main( String args[] )
8 {
JOptionPane.showMessageDialog(
JOptionPane.showMessageDialog(
9
null, "Welcome\nto\nJava\nProgramming!" );
null, "Welcome\nto\nJava\nProgramming!" );
10
11
12
System.exit(
0 );
termina
o aplicativo
System.exit(
0 );// //
terminate
the program
}
} // fim do método main
Resumo
Welcome4.java
1. instrução import
2. Classe Welcome4
2.1 main
2.2
showMessageDial
og
2.3 System.exit
} // fim da classe Welcome4
Saída do programa
23
2.4
Exibindo Texto em uma Janela de
diálogo
– Linhas 1-2: comentários como antes
4
// Pacotes de extensão de Java
– Existe dois tipos de pacotes na API do Java
– Pacotes do núcleo
• Iniciam com a palavra java
• Incluídos como parte do Java 2 Software Development Kit
– Pacotes de extensão
• Começam com javax
• São pacotes novos de Java
5
import javax.swing.JOptionPane;
// importa a classe JOptionPane
– Instruções import
• Usadas pelo compilador para identificar e localizar classes
usadas nos programas Java
• Dizem ao compilador a carregar a classe JOptionPane do
pacote javax.swing
24
2.4
Exibindo Texto em uma Janela de
diálogo
– Linhas 6-11: Linhas em branco, início da classe Welcome4
e main
12
13
JOptionPane.showMessageDialog(
null, "Welcome\nto\nJava\nProgramming!" );
– Chama o método showMessageDialog da classe
JOptionPane
• Requer dois argumentos
• Múltiplos argumentos são separados por vírgulas (,) como em
C
• Por enquanto, vamos usar o primeiro argumento sempre como
null
• O segundo argumento é a string a ser exibida
– showMessageDialog é um método static da classe
JOptionPane
• Métodos static são chamados usando-se o nome da
classe, ponto (.) e o nome do método
25
2.4
Exibindo Texto em uma Janela de
diálogo
– Todas as instruções terminam com ;
• Uma instrução simples pode ocupar múltiplas linhas
• Não é possível quebrar uma intrução no meio de um
identificador ou de uma string
– Executando as linhas 12 e 13 a caixa de diálogo será exibida
• Automaticamente inclui um botão OK
– Fecha a caixa de diálogo
• A barra de título contém o string Message
26
2.4
15
Exibindo Texto em uma Janela de
diálogo
System.exit( 0 );
// terminate application with window
– Chama o método static exit da classe System
• Termina a aplicação
– Esta linha é necesária em qualquer aplicativo que exibe uma
interface gráfica com o usuário (GUI)
• Por ser um método static, precisa do nome da classe e ponto (.)
• Identificadores que iniciam com a primeira letra maiúscula
normalmente representam nome de classe
– O argumento 0 indica que a aplicação finalizou com sucesso
• Um valor diferente de zero geralmente indica que ocorreu um erro
– A classe System é parte do pacote java.lang
• Não há necessidade da instrução import para java.lang
• java.lang é automaticamente importada em todo programa Java
– Lines 17-19: Braces to end Welcome4 and main
27
2.5
Outra aplicação Java: Adicionando
inteiros
• Programa a seguir
– Usa caixas de diálogo para entrada de dois valores pelo
usuário
– Usa o mensagens de diálogo para mostrar a soma dos dois
valores
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
28
// Fig. 2.9: Addition.java
// Programa para mostrar o resultado da adição de dois números.
// Pacotes de extensão java
import javax.swing.JOptionPane;
public class Addition {
Resumo
Addition.java
// importa a classe JOptionPane
Declaração de variáveis: nome e tipo
// método main inicia a execução do aplicativo java
public static void main( String args[] )
{
String firstNumber;
// primeiro string inserido pelo usuário
String secondNumber; // primeiro string inserido pelo usuário
int number1;
int number2;
int sum;
// primeiro
a somar
Lê onúmero
primeiro
inteiro como um
// segundo número a somar
e atribui para firstNumber.
// soma de number1 e number2
String,
// lê o primeiro número do usuário como uma String
firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
// lê o segundo número do usuário como uma String
secondNumber =
JOptionPane.showInputDialog( "Enter second integer" );
// converte os números do tipo String para o tipo int
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
// Adiciona os números
sum = number1 + number2;
1. import
2. Classe Addition
2.1 Declaração de
variáveis
3.
showInputDialog
4. parseInt
5. Soma dois
números, coloca o
resultado em sum
Converte strings para inteiros.
Soma, e coloca o resultado em sum.
29
33
34
35
36
37
38
39
40
41
// exibe os resultados
JOptionPane.showMessageDialog( null, "The sum is " + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
System.exit( 0 );
Resumo
// termina o aplicativo
} // fim do método main
} // fim da classe Addition
Saída do programa
30
2.5
5
Outra aplicação Java: Adicionando
inteiros
import javax.swing.JOptionPane;
// program uses JOptionPane
– Importa classe JOptionPane para ser usada no programa
7
public class Addition {
– Inicia a classe public Addition
• Lembre-se que o nome do arquivo deve ser Addition.java
– Linhas 10-11: main
12
13
String firstNumber;
String secondNumber;
// primeiro string inserido pelo usuário
// primeiro string inserido pelo usuário
– Declarações
• firstNumber e secondNumber são variáveis
31
2.5
12
13
Outra aplicação Java: Adicionando
inteiros
String firstNumber;
String secondNumber;
// first string entered by user
// second string entered by user
– Variáveis
• Posições de memória que armazenam um valor
– Declarações semelhantes à linguagem C
– São declaradas antes de serem usadas
• firstNumber e secondNumber são do tipo String
(package java.lang)
– Armazenam strings
• Nome de variáveis: qualquer identificador válido
• As declarações terminam com ;
String firstNumber, secondNumber;
– É possível declarar múltiplas variáveis do mesmo tipo,
separando-as por vírgula
– Boa prática de programação comentar toda variável declarada
32
2.5
15
16
17
Outra aplicação Java: Adicionando
inteiros
int number1;
int number2;
int sum;
// first number to add
// second number to add
// sum of number1 and number2
– Declara as variáveis number1, number2, e sum do tipo
int
• int armazena valores inteiros (números): i.e., 0, -4, 97
• Tipos float e double podem armazenar números com
casas decimais (reais)
• Tipo char pode armazenar um caractere simples: como: x, $,
\n, 7
• Tipos primitivos – Veremos mais detalhes adiante
33
2.5
20
Outra aplicação Java: Adicionando
inteiros
firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
– Lê um String do usuário, representando o primeiro
número a ser adicionado
• Método JOptionPane.showInputDialog exibe o
seguinte:
• Essa mensagem é chamada de prompt – direciona o usuário
para uma ação específica
• O texto a ser mostrado como prompt é passado como
argumento
• Se um tipo de dado errado é entrado (não inteiro) ou se o botão
Cancel for pressionado, ocorrerá um erro
34
2.5
20
Outra aplicação Java: Adicionando
inteiros
firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
– O resultado da chamada de showInputDialog é atribuído
a firstNumber usando o operador de atribuição =
• Instrução de atribuição
• = operador binário – recebe dois operandos
– Expressão do lado direito é avaliada e atribuída à variável
do lado esquerdo
• Lê-se: firstNumber recebe o valor de
JOptionPane.showInputDialog( "Enter first
integer" )
35
2.5
23
24
Outra aplicação Java: Adicionando
inteiros
secondNumber =
JOptionPane.showInputDialog( "Enter second integer" );
– Similar a instrução precedente
27
28
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
– Método Integer.parseInt
• Converte argumentos String em um inteiro (tipo int)
– Classe Integer em java.lang
• O inteiro retornado por Integer.parseInt é atribuído
para a variável number1 (linha 27)
– number1 foi declarado como sendo do tipo int
• Linha 28 é similar
36
2.5
31
Outra aplicação Java: Adicionando
inteiros
sum = number1 + number2;
– Instrução de atribuição
• Calcula a soma de number1 e number2
• Usa o operador de atribuição = para atribuir o resultado para a
variável sum
• Lê-se: sum recebe o valor de number1 + number2
• number1 e number2 são operandos
37
2.5
34
35
Outra aplicação Java: Adicionando
inteiros
JOptionPane.showMessageDialog( null, "The sum is " + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
– Usa showMessageDialog para exibir o resultado
– "The sum is " + sum
• Usa o operador + para “adicionar" o literal string "The sum
is" e sum
• Concatenação da String e outro tipo
– Resulta em uma nova string
• Se sum contém 117, então "The sum is " + sum resulta na
nova string "The sum is 117"
• Note o espaço no final de "The sum is "
• Veremos mais sobre strings adiante
38
2.5
34
35
Outra aplicação Java: Adicionando
inteiros
JOptionPane.showMessageDialog( null, "The sum is " + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
– Versão diferente de showMessageDialog
•
•
•
•
•
Requer quatro argumentos (ao invés de dois como antes)
Primeiro argumento: null por enquanto, como antes
Segundo: string a ser exibida
Terceiro: string na barra de títulos
Quarto: tipo de diálogo de mensagem com ícone
– Linha 35 nenhum ícone:
JOptionPane.PLAIN_MESSAGE
39
2.5
Outra aplicação Java: Adicionando
inteiros
Tipo de diálogo de mensagem
Ícone
Descrição
JOptionPane.ERROR_MESSAGE
Exibe um diálogo que indica um erro
para o usuário.
JOptionPane.INFORMATION_MESSAGE
Exibe um diálogo com uma mensagem de informação
para o usuário. O usuário poderá simplesmente
dispensar o diálogo
JOptionPane.WARNING_MESSAGE
Exibe um diálogo que adverte o usuário sobre um
problema em potencial.
JOptionPane.QUESTION_MESSAGE
Exibe um diálogo que impõe uma pergunta para o
usuário. Este diálogo normalmente exige uma resposta,
Tal como clicar em um botão Yes ou No
JOptionPane.PLAIN_MESSAGE
Fig. 2.12
Sem ícone Exibe um diálogo que simplesmente contém uma
mensagem, sem nenhum ícone
Constantes de JOptionPane para o diálogo de mensagem.
40
2.6 Conceitos de memória
• Variáveis
– Cada variável tem um nome, um tipo, um tamanho e um
valor
• Nomes correspondem a posições de memória
– Quando um novo valor é colocado em uma variável, este
valor substitui o valor que havia antes nessa variável
(posição de memória).
– A leitura de uma variável não modifica seu valor
41
2.6 Conceitos de memória
• Representação visual
– Sum = 0; number1 = 1; number2 = 2;
sum
0
– Sum = number1 + number2; depois da execução da instrução
sum
3
42
2.7
Aritmética
• Operações aritméticas usadas na maioria dos
programas
– Uso
• * para multiplicação
• / para divisão
• +, • Não existe operador para exponenciação
– Divisão inteira produz um resultado inteiro (truncado)
7 / 5 resulta em 1
– O operador % retorna o resto
7 % 5 produz 2
43
2.7
Aritmética
• Precedência de operadores
– Alguns operadores aritméticos são realizados antes de outros
(i.e., multiplicação antes de adição)
• Parênteses são usados para forçar a ordem
– Exemplo: para encontrar a média entre a, b e c
• Não utilize: a + b + c / 3
• Use: ( a + b + c ) / 3
– Segue PEMDAS
• Parênteses, Expoentes, Multiplicação, Divisão, Adição e
Subtração
44
2.7
Operador(es)
*
/
%
+
Fig. 2.17
Aritmética
Operação(ões) Ordem de avaliação (precedência)
Multiplicação Avaliados primeiro. Se houver vários
Divisão
operadores deste tipo, eles serão avaliados da
Resto
esquerda para a direita.
Adição
Avaliados em seguida. Se houver vários
Subtração
Operadores deste tipo, eles serão avaliados da
esquerda para a direita.
Precedência de operadores aritméticos
45
2.8
Tomada de Decisão: Operadores de
igualdade e operadores relacionais
• Estrutura de controle if
– Mesma sintaxe de C e C++
– Se uma condição for verdadeira, então o corpo da estrutura if é
executada
• 0 é interpretado como falso, não zero é verdadeiro
– O fluxo de execução sempre continua depois da estrutura if
– Condições dos comandos if podem ser formados usando
operadores de igualdade ou relacionais (próximo slide)
if ( condition )
sentença executada se condição verdadeira
46
2.8
Tomada de Decisão: Operadores de
igualdade e operadores relacionais
Operador Algébrico Operador igual- Exemplo de
Significado da
de igualdade ou
dade ou relacio- Condição em Condição em Java
relacional
nal em Java
Java
Equality operators
==
x == y
=
x é igual a y
!=
x != y
x não é igual a y
Relational operators
>
x > y
>
x é maior que y
<
x < y
<
x é menor que y
>=
x >= y

x é maior que ou igual a y
<=
x <= y

x é menor que ou igual a y
Fig. 2.19 Operadores de igualdade e operadores relacionais.
• Exemplo de aplicação em programa logo a seguir
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Fig. 2.20: Comparison.java
// Compara inteiros usando intruções if, operadores relacioais
// e operadores de igualdade.
// Pacotes de extensão java
import javax.swing.JOptionPane;
47
Resumo
Comparison.java
public class Comparison {
1. import
// método main inicia a execução do aplicativo java
public static void main( String args[] )
{
String firstNumber;
// primeiro string digitado pelo usuário
String secondNumber; // segundo string digitado pelo usuário
String result;
// um string contendo a saída
int number1;
int number2;
// primeiro número a comparar
// segundo número a comparar
// lê o primeiro número do usuário como um string
firstNumber = JOptionPane.showInputDialog( "Enter first integer:" );
// lê o segundo número do usuário como um string
secondNumber =
JOptionPane.showInputDialog( "Enter second integer:" );
// Converte os números do tipo string para o tipo int
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
// inicializa o resultado como um string vazio
result = "";
2. Classe
Comparison
2.1 main
2.2 Declarações
2.3 Entrada de dados
(showInputDialo
g)
2.4 parseInt
2.5 Inicialização de
result
48
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Resumo
if ( number1 == number2 )
result = result + number1 + " == " + number2;
if ( number1 != number2 )
result = result + number1 + " != " + number2;
Comparison.java
Teste de igualdade, cria nova string e
a result.
if ( number1 < number2 )
atribui
result = result + "\n" + number1 + " < " + number2;
if ( number1 > number2 )
result = result + "\n" + number1 + " > " + number2;
3. instrução if
if ( number1 <= number2 )
result = result + "\n" + number1 + " <= " + number2;
4.
showMessageDialo
g
if ( number1 >= number2 )
result = result + "\n" + number1 + " >= " + number2;
// Exibe o resultado
JOptionPane.showMessageDialog( null, result, "Comparison Results",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
// termina a aplicação
} // fim do método main
} // fim da classe comparison
Note o uso de
JOptionPane.INFORMATION_MESSAGE
49
Resumo
Saída do programa
50
2.8
32
Tomada de Decisão: Operadores de
igualdade e operadores relacionais
result = "";
– Inicializa result com a string vazia
34
35
if ( number1 == number2 )
result = result + number1 + " == " + number2;
– Instrução if checa a igualdade usando o operador (==)
• Se as variáveis são iguais (condição verdadeira)
– result é concatenado usando o operador +
– result = result + outras strings
– Lado direito é avaliado primeiro, e a nova string é
atribuída à result
• Se as variáveis não são iguais, a instrução do if não é
executada
51
2.8
Tomada de Decisão: Operadores de
igualdade e operadores relacionais
• Precedência de operadores
– Todos os operadores exceto o de atribuição = associam da
esquerda para a direita
• Por exemplo: x = y = z é avaliado como x = (y = z)
Operadores
Associatividade
Tipo
( )
Esquerda para direita
parênteses
* / %
Esquerda para direita
De multiplicação
+ Esquerda para direita
De adição
< <= > >=
Esquerda para direita
relacional
== !=
Esquerda para direita
igualdade
=
Direita para esquerda
De atribuição
Fig. 2.21 Precedência e associatividade dos operadores discutidos até
agora.
Download