50
Capítulo 4 Capítulo 4 Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Variáveis e Constantes Variáveis e Constantes

Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Capítulo 4Capítulo 4

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

Variáveis e ConstantesVariáveis e Constantes

Page 2: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Objetivos do Capítulo

� Apresentar os tipos primitivos disponíveis no Java.

� Analisar a forma de uso dos tipos primitivos para a declaração de variáveis capazes de armazenar números inteiros, números fracionários, caracteres e valores booleanos.

� Explorar as técnicas que devem ser empregadas para a

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

� Explorar as técnicas que devem ser empregadas para a transferência de dados entre variáveis de diferentes tipos.

� Indicar a sintaxe a ser observada para a declaração e uso de constantes.

Page 3: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Tipos primitivos

� São os tipos básicos de dados da linguagem

� Capazes de armazenar um único valor

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

Page 4: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Números inteiros

Tipo Tamanho Mínimo Máximo

byte 1 byte -128 127

short 2 bytes -32768 32767

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

short 2 bytes -32768 32767

int 4 bytes -2147483648 2147483647

long 8 bytes -9.223.372.036.854.775.808 9.223.372.036.854.775.807

Page 5: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Números decimais

Tipo Tamanho Mínimo Máximo Precisão

float 4 bytes -3,4028E+38 3,4028E+38 6-7 dígitos

double 8 bytes -1,7976E+308 1,7976E+308 15 dígitos

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

double 8 bytes -1,7976E+308 1,7976E+308 15 dígitos

Page 6: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Caracteres solitários

� Tipo char

� Padrão unicode

� 2 bytes

� Representa até 65536 (216)

� Código decimal de 0 a 65536

� Código hexadecimal de ‘\u0000’ a ‘\uFFFF’

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

Page 7: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Caracteres: dígitos

Dígito Código

0 48

1 49

2 50

3 51

4 52

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

4 52

5 53

6 54

7 55

8 56

9 57

Page 8: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Caracteres: alfabeto

Letra Código Letra Código Letra Código Letra Código

A 65 N 78 a 97 n 110

B 66 O 79 b 98 o 111

C 67 P 80 c 99 p 112

D 68 Q 81 d 100 q 113

E 69 R 82 e 101 r 114

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

E 69 R 82 e 101 r 114

F 70 S 83 f 102 s 115

G 71 T 84 g 103 t 116

H 72 U 85 h 104 u 117

I 73 V 86 i 105 v 118

J 74 W 87 j 106 w 119

K 75 X 88 k 107 x 120

L 76 Y 89 l 108 y 121

M 77 Z 90 m 109 z 122

Page 9: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Caracteres especiais

Descrição Decimal Hexadecimal Atalho

Avanço de linha 10 \u000a \n

Avanço de parágrafo (tabulação) 9 \u0009 \t

Retorno de linha 13 \u000d \r

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

Retorno de um espaço 11 \u0008 \b

Apóstrofe 39 \u0027 \‘

Aspas duplas 34 \u0022 \“

Barra invertida 92 \u005c \\

Page 10: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Tipos de Dados

� Tipo lógico

� Tipo boolean

� Valores possíveis: {true, false}

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

Page 11: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

� Conceito: unidades básicas de armazenamento temporário de dados.

� Composição:

� Tipo

� Identificador

� Escopo

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

� Quantidade de memória ocupada: depende do tipo

Page 12: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

� Declaração:

� Local: qualquer parte do corpo de uma classe

� Escopo: definido pelo local

� Sintaxe:

<Tipo> <Identificador>;

� Exemplos:

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

� Exemplos:

byte bt;

short sh;

int it;

long lg;

float fl;

double db;

char ch;

boolean bl;

Page 13: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

� Inicialização

� Conceito: atribuição de um valor a uma variável.

� O símbolo de igualdade é o operador de atribuição.

� Sintaxe:

<Identificador> = <valor>;

� Exemplos:

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

� Exemplos:

it = 123;

db = 45.7;

ch = 'C';

bl = false;

Page 14: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

� Declaração e inicialização

� Sintaxe:

<Tipo> <Identificador> = <valor>;

� Exemplos:

int it = 123;

double db = 45.7;

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

double db = 45.7;

char ch = 'C';

boolean bl = false;

Page 15: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

� Múltiplas declarações em instrução única

� Sintaxe:

<Tipo> <Identificador1>, <Identificador2>, <Identificador3>, [<IdentificadorN>];

� Exemplos:

double valor_inicial, desconto, liquido;

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

double valor_inicial, desconto, liquido;

char enter, tab;

Page 16: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

� Múltiplas declarações e inicializações em instrução única

� Sintaxe:

<Tipo> <Identificador1> = <Valor1>,

<Identificador2> = <Valor2>,

<Identificador3> = <Valor3>,

[<IdentificadorN>] = [<ValorN>];

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

� Exemplos:

double valor_inicial = 47.8, desconto = 0.8, liquido = 47;

char enter = (char)10, tab = (char)9;

Page 17: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

� Transferência de dado entre variáveis de mesmo tipo

� Sintaxe:

<variável_de_destino> = <variável_de_origem>;

� Exemplos:

int primeiro_inteiro, segundo_inteiro;

primeiro_inteiro = 10;

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

primeiro_inteiro = 10;

segundo_inteiro = primeiro_inteiro;

Page 18: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

Código 4.1 – NumerosInteiros.java.1 public class NumerosInteiros {2 public static void main(String[] args) {3 byte bt;4 short sh;5 int it;6 long lg;78 bt = 127;9 sh = 32767;10 it = 2147483647;

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

10 it = 2147483647;11 lg = 9223372036854775807L;1213 System.out.println("\nLimite superior:");14 System.out.println("byte:\t" + bt);15 System.out.println("short:\t" + sh);16 System.out.println("int:\t" + it);17 System.out.println("long:\t" + lg);1819 bt = -128;20 sh = -32768;

Page 19: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

Código 4.1 – NumerosInteiros.java.21 it = -2147483648;22 lg = -9223372036854775808L;2324 System.out.println("\nLimite inferior:");25 System.out.println("byte:\t" + bt);26 System.out.println("short:\t" + sh);27 System.out.println("int:\t" + it);28 System.out.println("long:\t" + lg);29 }30 }

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

30 }

Page 20: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

Código 4.2 – NumerosDecimais.java.1 import javax.swing.JOptionPane;23 public class NumerosDecimais {4 public static void main(String[] args) {5 float float_1,float_2;6 double double_1 = 5.123456789,double_2 = 10.0;78 float_1 = 1.02F;9 float_2 = 2.0F;10

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

1011 String mensagem = "Conteúdo das variáveis:" +12 "\nfloat_1 = " + float_1 + "\nfloat_2 = " + float_2 +13 "\ndouble_1 = " + double_1 + "\ndouble_2 = " + double_2;1415 JOptionPane.showMessageDialog(null,mensagem);16 System.exit(0);17 }18 }

Page 21: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Variáveis

Código 4.2 – NumerosDecimais.java.

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

Page 22: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões Entre Tipos Numéricos

� Promoção automática

� Tipo de destino > Tipo de origem

byte → short → int → long → float → double

char → int

� Exemplos:

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

byte bt = 127;

double db = bt;

Page 23: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões Entre Tipos Numéricos

� Conversão explícita

� Tipo de destino < Tipo de origem

byte ← short ← int ← long ← float ← double

char ← int

� Exemplos:

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

int it = 55;

byte bt = (byte)it;

Page 24: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões Entre Tipos Numéricos

� Ajuste circular

� Capacidade do destino < valor de origem

� Exemplos:

int it = 130;

byte bt = (byte)it;//bt recebe -126

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

� Limite do byte: 127

� Valor excedente: 130 – 127 = 3

127 + 1 = -128

-128 + 1 = -127

-127 + 1 = -126

Page 25: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões Entre Tipos NuméricosCódigo 4.3 – ConversaoNumeros.java.1 import javax.swing.JOptionPane;23 public class ConversaoNumeros {4 public static void main(String[] args) {5 int it1 = 15635;6 long lg = it1;7 float fl = it1;8 short sh = (short)it1;910 double db = 24.75;11 int it2 = (int)db;

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

11 int it2 = (int)db;12 int it3 = (int)Math.round(db);1314 String st = "Conteúdo das variáveis:\n" +15 "it1 = " + it1 + "\n" + "lg = " + lg + "\n" + 16 "fl = " + fl + "\n" + "sh = " + sh + "\n\n" +17 "db = " + db + "\n" + "it2 = " + it2 + "\n" +18 "it3 = " + it3;1920 JOptionPane.showMessageDialog(null,st);21 System.exit(0);22 }23 }

Page 26: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões Entre Tipos Numéricos

Código 4.3 – ConversaoNumeros.java.

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

Page 27: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Textos para Tipos Numéricos

� Tome a string abaixo:

String texto = “15”;

� Conversão para int (4 bytes)

int it = Integer.parseInt(texto);

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

� Conversão para long (8 bytes)

long lg = Long.parseLong(texto);

Page 28: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Textos para Tipos Numéricos

� Conversão para short (2 bytes)

short sh = Short.parseShort(texto);

� Conversão para byte (1 byte)

byte bt = Byte.parseByte(texto);

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

� Conversão para char (2 bytes)

char ch = (char)Integer.parseInt(st);

Page 29: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Textos para Tipos Numéricos

� Conversão para float

float fl = Float.parseFloat(texto);

� Conversão para double

double db = Double.parseDouble(texto);

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

Page 30: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Textos para Tipos NuméricosCódigo 4.4 – ConversaoTextoNumeros.java.1 import java.util.Scanner;23 public class ConversaoTextoNumeros {4 public static void main(String[] args) {5 System.out.print("\nInforme um número: ");6 Scanner scan = new Scanner(System.in);7 String texto = scan.nextLine();89 double db = Double.parseDouble(texto);10 float fl = Float.parseFloat(texto);11 long lg = Integer.parseInt(texto);

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

11 long lg = Integer.parseInt(texto);12 int it = Integer.parseInt(texto);13 short sh = (short)Integer.parseInt(texto);14 byte bt = (byte)Integer.parseInt(texto);15 char ch = (char)Integer.parseInt(texto);1617 System.out.printf("\nConteúdo das variáveis:" +18 "\n db = \t %f \n fl = \t %f \n lg = \t %d \n it = \t %d" +19 "\n sh = \t %d \n bt = \t %d \n ch = \t %c \n\n",20 db,fl,lg,it,sh,bt,ch);21 }22 }

Page 31: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Textos para Tipos Numéricos

Código 4.4 – ConversaoTextoNumeros.java.

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

Page 32: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Tipos Numéricos para Textos

� Sintaxe

String <nome> = String.valueOf(<variável_de_origem>);

� Exemplos:

byte inteiro = 127;

float decimal = 4.55f;

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

float decimal = 4.55f;

String st_byte = String.valueOf(inteiro);

String st_float = String.valueOf(decimal);

Page 33: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Tipos Numéricos para TextosCódigo 4.5 – ConversaoNumerosTexto.java.1 import java.util.Scanner;23 public class ConversaoNumerosTexto {4 public static void main(String[] args) {5 Scanner scan = new Scanner(System.in);6 String string_inteiro, string_decimal;7 double numero_decimal;8 int numero_inteiro;910 System.out.print("\nInforme um número inteiro: ");11 numero_inteiro = scan.nextInt();12

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

1213 System.out.print("Informe um número decimal: ");14 numero_decimal = scan.nextDouble();1516 string_inteiro = String.valueOf(numero_inteiro);17 string_decimal = String.valueOf(numero_decimal);1819 System.out.println("\nConteúdo das strings:" +20 "\n string_inteiro = \t" + string_inteiro +21 "\n string_decimal = \t" + string_decimal);22 System.out.println();23 }24 }

Page 34: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Conversões de Tipos Numéricos para Textos

Código 4.5 – ConversaoNumerosTexto.java.

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

Page 35: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Obtendo o Código de um Caractere

� Receita

� Transferi-lo para um int

� Exemplo:

char caractere = ‘A’;

int codigo = caractere;

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

int codigo = caractere;

Page 36: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Obtendo o Código de um Caractere

Código 4.6 – ConversaoCaractereNumero.java.1 import java.util.Scanner;23 public class ConversaoCaractereNumero {4 public static void main(String[] args) {5 Scanner scan = new Scanner(System.in);67 System.out.print("\nInforme um caractere:\t");8 String texto = scan.nextLine();9 char caractere = texto.charAt(0);10 int codigo = (int)caractere;

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

10 int codigo = (int)caractere;1112 System.out.println("Código do caractere:\t" + codigo);13 System.out.println();14 }15 }

Page 37: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Obtendo o Caractere Correspondente a um Número

� Receita

� Transferi-lo para um char

� Conversão requerida

� Exemplo:

int numero = 65;

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

int numero = 65;

char caractere = (char)numero;

Page 38: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Obtendo o Caractere Correspondente a um NúmeroCódigo 4.7 – ConversaoNumeroCaractere.java.1 import java.util.Scanner;23 public class ConversaoNumeroCaractere {4 public static void main(String[] args) {5 Scanner scan = new Scanner(System.in);67 System.out.print("\nInforme um número inteiro:\t");8 String texto = scan.nextLine();9 int numero = Integer.parseInt(texto);10 char caractere = (char)numero;11

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

1112 System.out.println("Caractere correspondente:\t" + caractere);13 System.out.println();14 }15 }

Page 39: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Constantes

� Conceito

� Unidades básicas de armazenamento de dados

� Conteúdo fixo

� Sintaxe:

final <tipo> <identificador> = <valor>;

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

final <tipo> <identificador> = <valor>;

� Exemplos:

final int VALOR_PI = 3,1416

Page 40: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Constantes

Código 4.8 – Constantes.java.1 public class Constantes {2 static final double COFINS = 3.0;3 static final double PIS = 0.65;4 }

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

Page 41: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

ConstantesCódigo 4.9 – CalculoImpostos.java.1 import java.util.Scanner;2 import java.text.NumberFormat;34 public class CalculoImpostos {5 public static void main(String[] args) {6 Scanner scan = new Scanner(System.in);7 NumberFormat nf = NumberFormat.getCurrencyInstance();89 System.out.print("\nInforme o valor do faturamento:\t");10 double faturamento = scan.nextDouble();11 double valor_cofins = faturamento * Constantes.COFINS / 100;

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

11 double valor_cofins = faturamento * Constantes.COFINS / 100;12 double valor_pis = faturamento * Constantes.PIS / 100;13 double total_impostos = valor_cofins + valor_pis;1415 System.out.println("COFINS (3%):\t" + nf.format(valor_cofins));16 System.out.println("PIS (0,65%):\t" + nf.format(valor_pis));17 System.out.println("TOTAL:\t\t" + nf.format(total_impostos));18 System.out.println();19 }20 }

Page 42: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Constantes

Código 4.9 – CalculoImpostos.java.

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

Page 43: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Exercício 1

� Crie um novo aplicativo, chamado Exercicio0401, que solicite três dados ao seu usuário: seu nome completo, seu sexo e sua renda familiar. Todos estes dados devem ser captados na própria janela de comando e, para isso, você deve utilizar a classe java.util.Scanner. O nome deve ser armazenado em um objeto do tipo String, o sexo deve ser armazenado em uma variável do tipo char e a renda familiar deve ser armazenada em uma variável do tipo double. Ao final, o aplicativo deve imprimir os três dados informados no mesmo formato em que se apresentam na figura abaixo.

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

abaixo.

Page 44: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Exercício 2

� Crie um novo aplicativo, chamado Exercicio0402, que solicite três dados ao seu usuário: seu nome completo, seu sexo e sua renda familiar. Todos estes dados devem ser captados através de diálogos gráficos e, para isso, você deve utilizar a classe javax.swing.JOptionPane. O nome deve ser armazenado em um objeto do tipo String, o sexo deve ser armazenado em uma variável do tipo char e a renda familiar deve ser armazenada em uma variável do tipo double. Ao final, o aplicativo deve exibir uma mensagem através de um diálogo gráfico. Esta mensagem deve apresentar os três dados informados no mesmo formato em que se

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

apresentar os três dados informados no mesmo formato em que se apresentam nas figuras abaixo.

Page 45: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Exercício 3

� Crie um novo aplicativo, chamado Exercicio0403, que solicite um número inteiro e calcule o seu quadrado. Tanto a captação do número quanto a exibição do resultado devem ser feitas na própria janela de comando. A figura abaixo ilustra as saídas que devem ser produzidas por este aplicativo.

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

Page 46: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Exercício 4

� Crie um novo aplicativo, chamado Exercicio0404, que solicite um número inteiro e calcule o seu cubo. Tanto a captação do número quanto a exibição do resultado devem ser feitas através de diálogos gráficos. A figura abaixo ilustra os diálogos que deverão ser produzidas por este aplicativo.

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

Page 47: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Exercício 5

� Crie um novo aplicativo, chamado Exercicio0405, que solicite três dados: o nome de um vendedor, o valor de vendas realizado por ele em um determinado mês e o percentual de comissão a que ele tem direito. Todos estes dados devem ser captados na própria janela de comando. O nome deve ser armazenado em um objeto do tipo String e os outros dois dados devem ser armazenados em variáveis do tipo double. A tarefa do aplicativo é calcular e exibir o valor que deve ser pago a este vendedor a título de comissão. A figura abaixo ilustra as saídas que devem ser produzidas por este aplicativo.

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

Page 48: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Exercício 6

� Crie um novo aplicativo, chamado Exercicio0406, que solicite dois dados ao seu usuário: o seu peso e a sua altura. Estes dados devem ser captados na própria janela de comando. Tanto o peso quanto a altura devem ser armazenados em variáveis do tipo double. A tarefa do aplicativo é calcular o IMC (Índice de Massa Corporal) do usuário. A fórmula que deve ser utilizada para este cálculo é a seguinte:

IMC = P ÷ A2

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

Page 49: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Exercício 7

� Crie um novo aplicativo, chamado Exercicio0407, que solicite um único caractere e informe qual é o caractere seguinte na tabela Unicode. As figuras abaixo ilustram qual deverá ser o resultado quando for informada letra C. Você também pode observar uma tabela com algumas entradas possíveis para este aplicativo e as saídas correspondentes que são esperadas.

Entrada Saída

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

Entrada Saída

A B

a b

E F

2 3

9 :

Z [

z {

! “

Page 50: Capítulo 4 - ruirossi.pro.brruirossi.pro.br/livros/li-rui-pcj-2ed/li-rui-pcj-2ed-cap04.pdfRui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra transferência

Contato

Com o autor:

Rui Rossi dos Santos

E-mail: [email protected]

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

Com a editora:

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

Com a editora:

Editora NovaTerra

E-mail Geral: [email protected]

E-mail Comercial: [email protected]

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