INTRODUÇÃO À PROGRAMAÇÃO



Documentos relacionados
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Organização de programas em Java. Vanessa Braganholo

Sintaxe Básica de Java Parte 1

Algoritmos e Programação Estruturada

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Componentes da linguagem C++

Programação online em Java

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

CURSO DE PROGRAMAÇÃO EM JAVA

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

Criar a classe Aula.java com o seguinte código: Compilar e Executar

BC0501 Linguagens de Programação

Roteiro 1: Dados, variáveis, operadores e precedência

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Noções sobre Objetos e Classes

2 Orientação a objetos na prática

JSP - ORIENTADO A OBJETOS

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

AULA Uma linguagem de programação orientada a objetos

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Java Como Programar, 8/E

Organização de programas em Python. Vanessa Braganholo

Linguagens de. Aula 02. Profa Cristiane Koehler

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Introdução à Programação

Estrutura Condicional em Java

Capítulo 2: Introdução à Linguagem C

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

PROGRAMAÇÃO JAVA. Parte 1

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

DEFINIÇÃO DE MÉTODOS

Introdução a Java. Hélder Nunes

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Orientação a Objetos

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Introdução à Lógica de Programação

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

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Processamento da Informação Teoria. Algoritmos e Tipos de dados

AMBIENTE DE PROGRAMAÇÃO PYTHON

Algoritmos com VisuAlg

A Linguagem Java. Alberto Costa Neto DComp - UFS

Trabalho de laboratório Avaliação semestral Exame final MÉDIA PONDERADA CONCEITO

Algoritmos e Linguagens de Programação

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

Projeto de Software Orientado a Objeto

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Introdução aos cálculos de datas

INF 1005 Programação I

Introdução ao IDE Netbeans (Programação Java)

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

Resolução de problemas e desenvolvimento de algoritmos

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

O Processo de Programação

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Programação para Computação

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Linguagem algorítmica: Portugol

Algoritmo e Programação

Resumo da Matéria de Linguagem de Programação. Linguagem C

NetBeans. Conhecendo um pouco da IDE

Lógica de Programação

JAVA Orientação a Objetos. Usando diálogos com JOptionPane

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

BC0505 Processamento da Informação

Criando um script simples

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

FBV - Linguagem de Programação II. Um pouco sobre Java

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

Java Linguagem de programação

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Um pouco do Java. Prof. Eduardo

Java. Marcio de Carvalho Victorino

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

Prof. Esp. Adriano Carvalho

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Primeiro programa em Java (compilação e execução)

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Introdução a conceitos e a prática de programação

13 Números Reais - Tipo float

Introdução à Linguagem

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados)

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Programação Orientada a Objetos

Transcrição:

COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO INTRODUÇÃO À PROGRAMAÇÃO FOZ DO IGUAÇU 2013

i LISTA DE FIGURAS FIGURA 1 FLUXOGRAMA DO APLICATIVO QUE EXIBE UMA LINHA DE TEXTO. 2 FIGURA 2 FLUXOGRAMA DA APLICAÇÃO QUE RECEBE E EXIBE A SOMA DE DOIS NÚMEROS.... 7

ii LISTA DE QUADROS QUADRO 1 PSEUDOCÓDIGO DE UM APLICATIVO QUE EXIBE UMA LINHA DE TEXTO... 2 QUADRO 2 CLASSE QUE EXIBE UMA LINHA DE TEXTO... 2 QUADRO 3 EXIBE TEXTO EM CAIXA DE DIÁLOGO... 5 QUADRO 4 PSEUDOCÓDIGO DA SOMA DE DOIS INTEIROS... 6 QUADRO 5 CLASSE JAVA QUE RECEBA, E EXIBE A SOMA DE DOIS INTEIROS... 7 QUADRO 6 CLASSE USANDO CAIXA DE DIÁLOGO PARA RECEBER E EXIBIR DADOS... 8 QUADRO 7 SÍMBOLOS PARA EXPONENCIAÇÃO EM PSEUDOCÓDIGO... 9 QUADRO 8 EXEMPLOS DE MÉTODOS DA CLASSE MATH... 9 QUADRO 9 FORMATAÇÃO NO ESTILO MOEDA CORRENTE... 11 QUADRO 10 APLICAÇÃO DA CLASSE DECIMALFORMAT... 13

iii SUMÁRIO 3 INTRODUÇÃO À PROGRAMAÇÃO... 1 3.1 UM PRIMEIRO PROGRAMA SIMPLES... 1 3.1.1 Representar a Aplicação em Pseudocódigo... 1 3.1.2 Representar a Aplicação em Fluxograma... 2 3.1.3 Classe Java que Imprime uma Linha de Texto... 2 3.1.3.1 Comentando Programas... 3 3.1.3.2 Declarando um Método... 4 3.1.3.3 Compilando um Programa ou Classe Java... 4 3.1.3.4 Execução de um Programa Java... 5 3.1.4 Classe Java que Exibe o Texto em uma Caixa de Diálogo... 5 3.2 APLICATIVO PARA ADICIONAR INTEIROS... 6 3.2.1 Pseudocódigo da Aplicação... 6 3.2.2 Fluxograma da Aplicação... 7 3.2.3 Classe Java que Adiciona Números Inteiros... 7 3.2.4 Classe Usando Caixa de Diálogo para Receber e Exibir Dados... 8 3.3 A CLASSE MATH... 9 3.3.1 Constantes... 10 3.4 FORMATOS DE MOEDA... 10 3.5 A CLASSE DECIMALFORMAT... 12 3.6 EXERCÍCIOS... 14 3.7 TRABALHOS PRÁTICOS... 23 3.8 BIBLIOGRAFIA... 24

1 3 INTRODUÇÃO À PROGRAMAÇÃO Para executar um programa Java: 1. Use o compilador para traduzir o programa Java em bytecode. 2. Use a JVM para o computador traduzir instruções bytecode em linguagem de máquina e executar as instruções de linguagem de máquina. A maioria das linguagens de programação traduz diretamente para a linguagem de máquina de um computador particular. No entanto, o bytecode Java faz o programa Java muito portátil. Depois de compilar o programa Java em bytecode, esse bytecode pode ser usado em qualquer computador. Ao executar o programa em outro tipo de computador, não é preciso recompilá-lo. Se um programa Java se comporta mal, ele só faz isso dentro do contexto da JVM em vez de se comportar mal diretamente em sua máquina nativa. Naturalmente, todo o tipo de computador deve ter o seu próprio programa para implementar o Java Virtual Machine. Chamamos de programa de entrada, programa-fonte, ou código-fonte, o programa Java. O programa traduzido em linguagem de baixo nível que o compilador produz é chamado de programa objeto ou código objeto. A palavra de código significa apenas um programa ou uma parte de um programa. 3.1 UM PRIMEIRO PROGRAMA SIMPLES Um aplicativo Java é um programa de computador que é executado quando você usar o comando java para carregar o Java Virtual Machine (JVM). Considere um aplicativo simples que exibe uma linha de texto. 3.1.1 Representar a Aplicação em Pseudocódigo O Quadro 1 apresente o pseudocódigo da aplicação que exibe o texto Bemvindo à programação Java na tela.

2 Quadro 1 Pseudocódigo de um aplicativo que exibe uma linha de texto 1 Algoritmo PrimeiroPrograma { 2 Escreva Bem-vindo à programação Java ; 3 } 3.1.2 Representar a Aplicação em Fluxograma texto. A figura 1 representa em fluxograma o aplicativo que exibe uma linha de Início Bem-vindo à programação Java Fim Figura 1 Fluxograma do aplicativo que exibe uma linha de texto. 3.1.3 Classe Java que Imprime uma Linha de Texto O Quadro 2 exibe a classe java que imprime a linha com o texto Bem-vindo à programação Java no monitor. Quadro 2 Classe que exibe uma linha de texto 1 package intro; 2 public class PrimeiroPrograma { 3 //método main inicia a execução do aplicativo Java 4 public static void main(string[] args) { 5 System.out.println("Bem-vindo à programação Java"); 6 } //fim do método main 7 } //fim da classe Cada programa Java consiste em pelo menos uma classe definida pelo programador. Em Java, um arquivo de origem é chamado oficialmente de unidade de compilação. É um arquivo de texto que contém uma ou mais definições de

3 classe. O compilador Java exige que um arquivo de origem use a extensão de arquivo.java. Em Java, todo o código deve residir dentro de uma classe. Por convenção, o nome da classe deve corresponder ao nome do arquivo que contém o programa. Por convenção os nomes das classes começam com uma letra maiúscula. O nome da classe é um identificador uma série de caracteres que consistem em letras, dígitos, sublinhados (_) e sinais de dólar ($) que não começa com um dígito e não contém espaços. Normalmente, um identificador que não começa com uma letra maiúscula não é um nome de classe. 3.1.3.1 Comentando Programas Há duas maneiras de inserir comentários em um programa Java. Em Java, os símbolos // são utilizados para indicar o início de um comentário. Todo o texto entre o // e a extremidade da linha é um comentário. O compilador simplesmente ignora qualquer coisa que segue // em uma linha. Comentários indicado com // são frequentemente chamados de comentários de linhas. Qualquer coisa entre o par de símbolos /* e os dois símbolos */ é considerado um comentário e é ignorado pelo compilador. Ao contrário dos comentários //, que exigem um // adicional em cada linha, */ */ para comentários podem abranger várias linhas. Comentários do tipo /* */ muitas vezes são chamados blocos de comentários. Estes blocos de comentários podem ser inseridos em qualquer lugar de um programa que um intervalo ou espaço linha é permitido. Geralmente os comentários são colocados nas extremidades das linhas ou em linhas separadas pelos próprios comentários.

4 3.1.3.2 Declarando um Método Declarações de classe Java normalmente contêm um ou mais métodos. Para uma aplicação Java, um dos métodos deve ser chamado de main e deve ser definido como mostrado na linha 5, caso contrário, o Virtual Machine Java (JVM) não executa o aplicativo. Métodos executam tarefas e podem retornar informações quando completam suas tarefas. A palavra-chave void indica que esse método não retornará nenhuma informação. 3.1.3.3 Compilando um Programa ou Classe Java Um programa Java é dividido em classes. Antes de executar um programa Java, você deve compilar essas classes. Cada definição de classe usada no programa escrito pelo programador deve estar em um arquivo separado. O nome do arquivo deve ser o mesmo que o nome de classe, exceto que o nome do arquivo tem.java adicionado ao final. Usando uma IDE (Integrated Development Environment Ambiente Integrado de Desenvolvimento), há um comando simples para compilar o programa Java a partir do editor. Supondo o uso da ferramenta de linha de comando do Java Development Kit (JDK), abra uma janela de comando e mude para o diretório onde o programa está armazenado. Para compilar o programa, digite javac PrimeiroPrograma.java. O compilador javac cria um arquivo chamado PrimeiroPrograma.class que contém a versão bytecode do programa. O bytecode Java é a representação

5 intermediária do programa que contém as instruções que o Java Virtual Machine irá executar. Assim, a saída do javac não é um código que pode ser diretamente executado. 3.1.3.4 Execução de um Programa Java Um programa em Java pode consistir em um número diferente de classes, cada uma em um arquivo diferente. Ao executar um programa de aplicação Java, apenas executa a classe que contém o método main. Se o programar usar uma IDE terá um comando de menu que pode ser usado para executar um programa Java. Se precisar executar o programa Java com uma determinada linha comando de um sistema operacional, então execute o programa dando o comando java seguido do nome da classe que contém o método main. Por exemplo, java PrimeiroPrograma. 3.1.4 Classe Java que Exibe o Texto em uma Caixa de Diálogo O Quadro 3 executa o mesmo que a classe anterior. Mas usa a classe JOptionPane para exibir o resultado em uma caixa de diálogo. Quadro 3 Exibe texto em caixa de diálogo 1 package intro; 2 import javax.swing.joptionpane; 3 public class PrimProgDialogo { 4 public static void main(string[] args) { 5 JOptionPane.showMessageDialog( 6 null, "Bem vindo \nà Programação Java"); 7 System.exit(0); //termina o aplicativo 8 }

6 9 } 3.2 APLICATIVO PARA ADICIONAR INTEIROS O próximo programa mostra como uma variável é declarada e como ele é atribuído um valor. O programa também ilustra alguns aspectos novos da saída do console. O aplicativo lê dois números inteiros digitados no teclado pelo usuário, calcula a soma e exibe o resultado. 3.2.1 Pseudocódigo da Aplicação O Quadro 4 exibe o pseudocódigo de aplicativo que lê dois números inteiros passados pelo usuário via teclado, calcula a soma e exibe o resultado na tela. Quadro 4 Pseudocódigo da soma de dois inteiros 1 Algoritmo SegundoPrograma { 2 Declare 3 numero1, numero2, soma : inteiro; 4 Escreva Entre com o primeiro número ; 5 Leia (numero1); 6 Escreva Entre com o segundo número ; 7 Leia(numero2); 8 soma = numero1 + numero2; 9 Escreva A soma é, soma; 10 }

7 3.2.2 Fluxograma da Aplicação A figura 2 representa o fluxograma da aplicação que recebe dois números digitados pelo usuário, soma e exibe o resultado na tela. Início numero1 numero2 soma = numero1 + numero2 A soma é, soma Fim Figura 2 Fluxograma da aplicação que recebe e exibe a soma de dois números. 3.2.3 Classe Java que Adiciona Números Inteiros O Quadro 5 mostra a classe Java que recebe dois números inteiros fornecidos pelo usuário via teclado, calcula a soma e exibe o resultado no monitor. Quadro 5 Classe Java que receba, e exibe a soma de dois inteiros 1 package intro; 2 import java.util.scanner; 3 public class SegundoPrograma { 4 public static void main(string[] args) { 5 int numero1, numero2, soma; 6 Scanner leia = new Scanner(System.in); 7 System.out.println("Entre com o primeiro número: "); 8 numero1 = leia.nextint(); 9 System.out.println("Entre com o segundo número: "); 10 numero2 = leia.nextint(); 11 soma = numero1 + numero2;

8 12 System.out.println("A soma é "+soma); 13 } 14 } 3.2.4 Classe Usando Caixa de Diálogo para Receber e Exibir Dados O Quadro 6 exibe uma classe Java que usa caixas de diálogos para receber dados via teclado, e exibe o resultado do cálculo em outra caixa de diálogo. Quadro 6 Classe usando caixa de diálogo para receber e exibir dados 1 package intro; 2 import javax.swing.joptionpane; 3 public class SegProgDialogo { 4 public static void main(string[] args) { 5 String prinumero, segnumero; 6 int num1, num2, soma; 7 prinumero = JOptionPane.showInputDialog( 8 "Digite o primeiro número inteiro"); 9 segnumero = JOptionPane.showInputDialog( 10 "Digite o segundo número inteiro"); 11 num1 = Integer.parseInt(priNumero); 12 num2 = Integer.parseInt(segNumero); 13 soma = num1 + num2; 14 JOptionPane.showMessageDialog( 15 null, "A soma é "+soma,"resultado", 16 JOptionPane.PLAIN_MESSAGE); 17 System.exit(0); 18 } 19 }

9 3.3 A CLASSE MATH Nem todos os operadores aritméticos utilizados na realização de cálculos podem ser representados por símbolos computacionais. Alguns deles são representados por funções matemáticas, como no caso da exponenciação, representada no Quadro 7, e da radiciação. Quadro 7 Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas são programas especiais existentes nas bibliotecas das linguagens de programação e executam cálculos matemáticos mais complexos não suportados pelos operadores matemáticos básicos. A classe Math fornece um conjunto de métodos que permitem realizar cálculos matemáticos comuns. A classe Math é fornecida automaticamente e não requer instrução de importação. Os comandos no Quadro 8 retornam valores segundo os métodos chamados pela classe Math. Quadro 8 Exemplos de métodos da classe Math System.out.println(Math.pow(2.0, 3.0)); Retorna base elevada ao expoente. System.out.println(Math.min(3, 2)); Retorna o mínimo de dois argumentos numéricos. System.out.println(Math.max(3, 2)); Retorna o máximo de dois argumentos numéricos. System.out.println(Math.round(3.2)); Arredonda o argumento. System.out.println(Math.ceil(3.2)); Retorna o número inteiro maior que ou igual ao argumento. System.out.println(Math.floor(3.2)); Retorna o número inteiro menor ou igual ao argumento. System.out.println(Math.sqrt(4)); Retorna a raiz quadrada do argumento. System.out.println(Math.random()); Retorna um número aleatório maior

10 ou igual a 0,0 e inferior a 1,0. abs(x) Valor absoluto de x. cos(x) Cosseno trigonométrico de x (x em radianos). exp(x) Método exponencial e x. 3.3.1 Constantes A classe Math também tem duas constantes predefinidas, E e PI. A constante PI (muitas vezes escrito em fórmulas matemáticas) é usada em cálculos envolvendo círculos, esferas e outras figuras geométricas com base em círculos. PI é aproximadamente 3,14159. A constante E é a base do sistema de logaritmo natural (e muitas vezes escrita e em fórmulas matemáticas) e é de aproximadamente 2,72. Exemplo: fórmula da área do círculo. area = Math.PI * Math.pow(raio,2); 3.4 FORMATOS DE MOEDA A classe NumberFormat diz ao Java para usar o formato apropriado quando emitir montantes de dinheiro. A técnica é ilustrada no Quadro 9. Primeiro, considere o seguinte: NumberFormat formatomonetario = NumberFormat.getCurrencyInstance(); O método de invocação NumberFormat.getCurrencyInstance() produz um objeto da classe NumberFormat e o nomeia o objeto formatomonetario. Este objeto formatomonetario tem um método chamado format que recebe um número de ponto flutuante como um argumento e retorna um valor String que representa esse número na moeda local (moeda padrão). Por exemplo, a seguinte invocação : formatomonetario.format(19.8)

11 retorna o valor String "R$ 19,80", assumindo a moeda padrão que é o real. Para tornar a classe NumberFormat disponível no código, deve-se incluir o seguinte perto do início do arquivo do programa: import java.text.numberformat; Quadro 9 Formatação no estilo moeda corrente 1 package intro; 2 import java.text.numberformat; 3 import java.util.locale; 4 5 public class DemoFormatoMoeda { 6 public static void main(string[] args) { 7 System.out.println("Sem formatação"); 8 System.out.println(19.8); 9 System.out.println(19.81111); 10 System.out.println(19.89999); 11 System.out.println(19); 12 System.out.println(); 13 System.out.println("Localização padrão"); 14 NumberFormat formatomonetario = 15 NumberFormat.getCurrencyInstance(); 16 System.out.println(formatoMonetario.format(19.8)); 17 System.out.println(formatoMonetario.format(19.81111)); 18 System.out.println(formatoMonetario.format(19.89999)); 19 System.out.println(formatoMonetario.format(19)); 20 System.out.println(); 21 System.out.println("Localização americana"); 22 NumberFormat formatomonetario2 = 23 NumberFormat.getCurrencyInstance(Locale.US); 24 System.out.println(formatoMonetario2.format(19.8)); 25 System.out.println(formatoMonetario2.format(19.81111)); 26 System.out.println(formatoMonetario2.format(19.89999)); 27 System.out.println(formatoMonetario2.format(19));

12 28 System.out.println(); 29 } 30 } As constantes de localização são objetos da classe Locale. A fim de tornar a classe Locale e essas constantes disponíveis para o código, deve-se incluir o seguinte no início do arquivo do programa: import java.util.locale; 3.5 A CLASSE DECIMALFORMAT O método System.out.println exibe números de saída, mas não tem instalações para formatar os números. Para mostrar um número em um formato específico, com número especificado de dígitos depois do ponto decimal, é necessário converter o número em uma sequência que mostra o número no formato desejado e, em seguida, usar System.out.println para a saída da cadeia. A classe DecimalFormat que está no pacote Java java.text proporciona uma instalação versátil para formatar números em uma variedade de maneiras. É necessário adicionar no início do arquivo do programa ou classe que usa a classe DecimalFormat: import java.text.decimalformat; Um objeto da classe DecimalFormat tem um certo número de métodos diferentes que podem ser usados para produzir cadeias numerais em vários formatos. Criar um objeto da classe DecimalFormat, usando um padrão de cadeia como se segue: DecimalFormat nome_variavel = new DecimalFormat(padrao); O método format da classe DecimalFormat pode ser usada para converter um número float, tal como um de tipo double, para um String numeral correspondente seguindo o padrão usado para criar o objeto DecimalFormat. Por exemplo, considere o seguinte código: DecimalFormat formattingobject = new DecimalFormat("000.0000");

13 String numeral = formattingobject.format(12.3456789); System.out.println(numeral); Isto produz o seguinte resultado: 012.3457. Um padrão pode especificar o número exato de dígitos antes e depois do decimal, ou pode especificar o número mínimo de dígitos. O caráter '0 'é usado para representar um dígito exigido, e o caráctere "#" é usado para indicar um dígito opcional. O dígito opcional '#' é mostrado, se é um dígito diferente de zero e não é mostrado se for um dígito zero. O caractere '%' colocado na extremidade de um padrão indica que o número é para ser expressa como uma percentagem. O '%' faz com que o número seja multiplicado por 100 e acrescenta um sinal de porcentagem, '%'. A notação E é especificada, incluindo um 'E' na cadeia modelo. Os exemplos mostrados no Quadro 9 detalham a cadeia da notação E, entre outras. Quadro 10 Aplicação da classe DecimalFormat 1 public class DemoDecimalFormat { 2 public static void main(string[] args) { 3 DecimalFormat padrao00ponto000 = new DecimalFormat("00.000"); 4 DecimalFormat padrao0ponto00 = new DecimalFormat("0.00"); 5 double d = 12.3456789; 6 System.out.println("Padrão 00.000"); 7 System.out.println(padrao00ponto000.format(d)); 8 System.out.println("Padrão 0.00"); 9 System.out.println(padrao0ponto00.format(d)); 10 double dinheiro = 20.7; 11 System.out.println("Padrão 0.00"); 12 System.out.println("R$"+padrao0ponto00.format(dinheiro)); 13 DecimalFormat percentual = new DecimalFormat("0.00%"); 14 System.out.println("Padrão 0.00%"); 15 System.out.println(percentual.format(0.308)); 16 DecimalFormat notacaoe1 =

14 17 new DecimalFormat("#0.###E0"); //1 ou 2 dígitos antes do ponto 18 DecimalFormat notacaoe2 = 19 new DecimalFormat("00.###E0"); //2 dígitos antes do ponto 20 System.out.println("Padrão #0.###E0"); 21 System.out.println(notacaoE1.format(123.456)); 22 System.out.println("Padrão 00.###E0"); 23 System.out.println(notacaoE2.format(123.456)); 24 double numeropequeno = 0.0000123456; 25 System.out.println("Padrão #0.###E0"); 26 System.out.println(notacaoE1.format(numeroPequeno)); 27 System.out.println("Padrão 00.###E0"); 28 System.out.println(notacaoE2.format(numeroPequeno)); 29 } 30 } 3.6 EXERCÍCIOS 1. Preencha as lacunas em cada uma das seguintes frases: a) Uma inicia o corpo de cada método e uma termina o corpo de cada método. b) Cada instrução termina com um. c) inicia um comentário de fim de linha. d) Aplicativos Java iniciam a execução no método. e) Os métodos, e exibem informações na janela de comando. f) Os oito tipos de dados primitivos de Java são:,,,,,,, e.

15 2. Determine se cada um dos seguintes exemplos é verdadeiro ou falso. Se falso, explique por que. a) Os comentários fazem com que o computador imprima o texto depois de // na tela quando o programa executa. b) O Java considera que as variáveis number e NuMbEr são idênticas. 3. Qual é a saída produzida pelo código Java abaixo? a) /** Code for Exercise. */ System.out.println("Olá"); //System.out.print("Sr. ou Sra. "); System.out.println("Estudante"); b) System.out.println("1+1+1="+1+1+'1'); c) NumberFormat formatoexercicio = NumberFormat.getCurrencyInstance(Locale.US); double d1 = 1.2345, d2 = 15.67890; System.out.println(formatoExercicio.format(d1)); System.out.println(formatoExercicio.format(d2)); 4. Escreva uma declaração de importação que faça a classe Scanner disponível para o seu programa ou classe. 5. Escreva uma linha de código que cria um objeto Scanner chamado aula a ser utilizado para a obtenção de entrada de teclado. 6. Escreva uma linha de código que usa o objeto aula do exercício anterior, para ler uma palavra do teclado e armazena-la na variável String w. 7. Algo poderia dar errado com o seguinte código. Identifique e corrija o problema. Scanner teclado = new Scanner(System.in); System.out.println("Digite sua idade."); int idade = teclado.nextint(); System.out.println("Digite seu nome."); String nome = teclado.nextline(); System.out.println(nome + ",você tem " + idade + " anos."); 8. Escreva uma instrução para realizar cada uma das seguintes tarefas: a) Declarar que um programa calculará o produto de três números inteiros. b) Declarar as variáveis x, y, z e resultado como do tipo inteiro.

16 c) Declarar as variáveis xval, yval e zval como do tipo String. d) Solicitar ao usuário para inserir o primeiro valor, ler o valor do usuário e armazená-lo na variável xval. e) Solicitar ao usuário para inserir o segundo valor, ler o valor do usuário e armazená-lo na variável yval. f) Solicitar ao usuário para inserir o terceiro valor, ler o valor do usuário e armazená-lo na variável zval. g) Converter xval em um inteiro e armazenar o resultado na variável x. h) Converter yval em um inteiro e armazenar o resultado na variável y. i) Converter zval em um inteiro e armazenar o resultado na variável z. j) Computar o produto dos três inteiros contidos nas variáveis x, y e z e atribuir o resultado à variável resultado. k) Exibir uma caixa de diálogo contendo a mensagem O produto é seguido pelo valor da variável resultado. l) Retornar um valor a partir do programa para indicar que o programa foi finalizado com sucesso. 9. Escreva instruções em Java que realizam cada uma das seguintes tarefas: a) Exibir a mensagem Entre com dois números utilizando a classe JOptionPane. b) Atribuir o produto das variáveis b e c para a variável a. c) Exibir uma caixa de diálogo pedindo para o usuário inserir um número de ponto flutuante. d) Converter um String em um número de ponto flutuante e armazenar o valor na variável idade do tipo Double. Pressuponha que o String seja armazenado em stringvalor. 10. (CODESP-SP 2010) A figura abaixo mostra as cinco fases para execução de programa Java. O processo de execução ocorre da seguinte forma: - Na edição, o programa é criado no editor e armazenado em disco. - Na compilação, o compilador gera um PRODUTO e o armazena em disco.

17 - Na carga, o carregador de classe coloca o PRODUTO na memória. - Na verificação, o verificador que o PRODUTO é válido e não viola as restrições de segurança do Java. - Na interpretação, o interpretador lê o PRODUTO e faz a tradução para uma linguagem que o computador pode entender, possivelmente armazenando valores de dados enquanto executa o programa. Nesse processo, PRODUTO representa o seguinte componente: a) bytecode. b) framework. c) firmware. d) framecode. e) bytework. 11. (MPE-RO 2005) Para declarar uma constante chamada SIZE do tipo inteiro e com valor 10 no Java, podemos utilizar a construção: a) static extend integer SIZE = 10; b) static final int SIZE = 10; c) this extend integer SIZE := 10; d) this final int SIZE :=10; e) void final int SIZE = 10; 12. Assinale V para verdadeiro ou F para falso. ( ) O valor 3.1415F define uma variável do tipo long de 32 bits, inteira, com sinal em complemento de dois. ( ) Por meio do tipo de dados float, é possível representar números em notação de ponto flutuante normalizada em precisão simples de 32 bits. ( ) A função Math.round(valor) gera um número aleatório utilizando a semente valor. ( ) A função Math.round(valor) retorna o comprimento de uma circunferência de raio valor. ( ) Valores numéricos reais em Java podem ser representados por variáveis do tipo byte, short, int ou long. Alguns tipos contêm valores inteiros com sinal, com representação interna em complemento de um. ( ) Entre os tipos de dados primitivos suportados pela linguagem Java, está o tipo char, o qual ocupa um espaço de memória de 8 bits. ( ) As definições de variáveis no código de um programa não interferem na geração de um código-objeto porque as variáveis não possuem relação direta com a entrada e a saída de dados em um programa. ( ) Um interpretador é um programa que lê um código escrito em uma

18 linguagem e o converte em um código equivalente em outra linguagem. No processo de conversão, o interpretador relata a presença de erros no código original. ( ) O código-fonte pode ser transportado de processador para processador e de compilador para compilador, sem nenhuma modificação. ( ) O código-fonte permanece imutável mesmo quando seu ambiente muda (por exemplo, uma nova versão de sistema operacional é instalada). 13. (AL-SP 2010) Os tipos de dados primitivos em Java são a) char, boolean, byte, short, int, long, float e double. b) char, boolean, byte, short, int, long, float, double e String. c) byte, short, int, long, float e double. d) byte, short, int, long, float, double, String e Date. e) char, boolean, byte, short, int, long, float, double, String e Date. 14. (TCE-AL 2008) Os três elementos básicos quando contidos num arquivo fonte Java devem obrigatoriamente se apresentar na seguinte ordem: a) import, package e class. b) class, package e import. c) class, import e package. d) package, class e import. e) package, import e class. 15. (TER-MG 2005) A sequência de etapas para implementação de um programa Java é a) interpretação, codificação, execução e compilação. b) codificação, interpretação, compilação e execução. c) interpretação, codificação, compilação e execução. d) codificação, compilação, interpretação e execução. e) compilação, codificação, execução e interpretação. 16. (TRT-PR 2010) O JVM mais o núcleo de classes da plataforma Java e os arquivos de suporte formam o a) o J2EE. b) o JDK. c) o JRE. d) uma JSP. e) uma API.

19 17. (SEFAZ-SC 2010) Assinale a alternativa correta a respeito das variáveis e constantes, utilizadas em diversas linguagens de programação. a) O número de constantes deve ser menor ou igual ao número de variáveis em um programa. b) O número de constantes deve ser menor ou igual ao número de procedimentos em um programa. c) O número de constantes deve ser igual ao número de variáveis em um programa. d) O número de constantes independe da quantidade de variáveis em um programa. e) O número de constantes deve ser igual ao número de procedimentos em um programa. 18. (TJ-PA 2009) O desempenho de um programa no computador NÃO depende a) do algoritmo usado no programa. b) da linguagem de programação e do compilador. c) do processador e do sistema de memória. d) do hardware de E/S e do sistema operacional. e) da quantidade de slots da placa-mãe. 19. (MPU 2007) Especificar um valor a ser armazenado na área de memória referenciada por um nome descritivo caracteriza uma a) variável. b) instrução de controle. c) sintaxe de comentário. d) constante. e) instrução de atribuição. 20. Siga os passos abaixo e escreva um programa Java que leia em uma linha de entrada de teclado contendo dois valores do tipo int (separados por um ou mais espaços) e saídas dos dois números, assim como a soma dos dois números. a) Digite a linha para importar a classe Scanner. b) Digite a linha com o nome da classe que você criou. c) Na classe, digite o método principal para executar a classe. d) No método principal, crie um objeto teclado da classe Scanner para ler do teclado.

20 e) Exiba uma mensagem na tela com a seguinte mensagem: Digite dois números inteiros separados por espaço: f) Declare a variável inteira val1 e atribua-lhe o primeiro valor digitado. g) Declare a variável inteira val2 e atribua-lhe o segundo valor digitado. h) Declare uma variável inteira soma e atribua-lhe a soma de val1 e val2. i) Exiba a mensagem A soma dos dois números inteiros é, seguido da variável soma. j) Feche todas as chaves abertas. k) Salve, compile e execute. 21. Faça um programa que receba quatro números inteiros, calcule e mostre a soma desses números. 22. Siga os passos e faça um programa que receba três notas, calcule e mostre a média aritmética entre elas. a) Digite a linha para importar a classe DecimalFormat. b) Digite a linha para importar a classe JOptionPane. c) Digite a linha com a classe criada. d) Dentro da classe, digite o método principal para executar a classe. e) Dentro do método principal, faça: a. Crie o objeto nota da classe DecimalFormat com o formato 0.0. b. Declare a variável nota1 do tipo real e atribua-lhe, usando uma caixa de diálogo de entrada, o valor digitado pelo usuário. c. Declare a variável nota2 do tipo real e atribua-lhe, usando outra caixa de diálogo de entrada, o valor digitado pelo usuário. d. Declare a variável nota3 do tipo real e atribua-lhe, usando a terceira caixa de diálogo de entrada, o valor digitado pelo usuário. e. Declare a variável media, e atribua-lhe o cálculo da média das três notas digitadas pelo usuário. f. Usando uma caixa de diálogo de mensagem, para exibir o resultado, escreva uma mensagem que informe a média no formato nota. f) Feche as chaves correspondentes ao método principal e à classe. g) Salve, compile e execute o programa. 23. Faça um programa que receba três notas e seus respectivos pesos, calcule e mostre a média ponderada dessas notas.

21 24. Faça um programa que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 25%. a) Digite a linha para importar a classe NumberFormat. b) Digite a linha para importar a classe Scanner. c) Digite a linha com o nome da classe criada. d) Dentro da nova classe, digite o método principal. e) Dentro do método principal, faça: a. Crie um novo objeto chamado leia para a classe Scanner. b. Crie um novo objeto chamado moeda para o formato de moeda corrente. c. Exiba uma mensagem solicitando que seja digitado o salário atual do funcionário. d. Declare a variável salario do tipo real, atribua para ela o conteúdo do objeto leia. e. Declare a variável novosalario do tipo real, atribua a ela o cálculo do reajuste. f. Exiba uma mensagem informando o valor do salário reajustado. f) Feche as chaves correspondentes ao método principal e a classe. g) Salve, compile e execute o programa. 25. Faça um programa que receba o salário de um funcionário e o percentual de aumento, calcule e mostre o valor do aumento e o novo salário. 26. Faça um programa que receba o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 11% sobre o salário-base. a) Digite a linha para importar a classe NumberFormat. b) Digite a linha para importar a classe JOptionPane. c) Digite a linha com o nome da classe. d) Dentro da classe escreva o método principal para executá-la. e) Dentro do método principal, faça: a. Crie um objeto chamado moeda que receba o formato da moeda corrente. b. Declare uma variável real salariobase, atribua para ela o valor passado via caixa de diálogo de entrada de dados.

22 c. Exiba uma mensagem através de uma caixa de diálogo, onde conste o cálculo do salário a receber no formato do objeto moeda. 27. Faça um programa que recebe o salário-base de um funcionário, calcule e mostre o seu salário a receber, sabendo-se que esse funcionário tem gratificação de R$ 50,00 e paga imposto de 10% sobre o salário-base. 28. Faça um programa que receba o valor de um depósito e o valor da taxa de juros, calcule e mostre o valor do rendimento e o valor total depois do rendimento. 29. Faça um programa que calcule e mostre a área de um triângulo. Sabe-se que: área = (base * altura)/2 30. Faça um programa que calcule e mostre a área de um círculo. Sabe-se que: Área = R 2 a) Digite a linha de comando para importar a classe DecimalFormat. b) Digite a linha de comando para importar a classe Scanner. c) Digite a linha com o nome da classe a ser construída. d) Dentro da classe escreva o método principal para executá-la. e) Dentro do método principal faça. a. Crie o objeto num com o formato de duas casas decimais para a classe DecimalFormat. b. Crie o objeto leia para a classe Scanner. c. Escreva uma mensagem solicitando o raio do círculo. d. Declare a variável raio do tipo real, atribua-lhe o valor digitado pelo usuário e armazenado no objeto leia. e. Declare a variável area do tipo real, atribua-lhe o calculo conforme apresentado no enunciado do exercício (use a classe Math para a constante PI, e para calcular o raio ao quadrado). f. Exiba uma mensagem que mostre o valor da área do círculo para o raio digitado. A área deverá ser mostrado no formato num. f) Feche as chaves do método principal e da classe. g) Salve, compile e execute o programa. 31. Faça um programa que receba dois números maiores que zero, calcule e mostre um elevado ao outro. 32. Faça um programa que receba um número positivo e maior que zero, calcule e mostre: a) O número digitado ao quadrado

23 b) O número digitado ao cubo c) A raiz quadrada do número digitado d) A raiz cúbica do número digitado 33. Sabe-se que: 1 pé = 12 polegadas 1 jarda = 3 pés 1 milha = 1.760 jardas Faça um programa que receba uma medida em pés, faça as conversões a seguir e mostre os resultados e) Polegadas f) Jardas g) Milhas 34. Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade dessa pessoa b) Quantos anos essa pessoa terá em 2015 35. O custo ao consumidor de um carro novo é a soma do preço de fábrica com o percentual de lucro do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa que receba o preço de fábrica de um veículo, o percentual de lucro do distribuidor e o percentual de impostos. Calcule e mostre: a) O valor correspondente ao lucro do distribuidor. b) O valor correspondente aos impostos. c) O preço final do veículo. 3.7 TRABALHOS PRÁTICOS 1. Faça um programa que receba o número de horas trabalhadas e o valor do salário mínimo. Calcule e mostre o salário a receber seguindo as regras abaixo: a) A hora trabalhada vale a metade do salário mínimo. b) O salário bruto equivale ao número de horas trabalhadas multiplicado pelo valor da hora trabalhada. c) O imposto equivale a 3% do salário bruto.

24 d) O salário a receber equivale ao salário bruto menos o imposto. 2. Pedro comprou um saco de ração com peso em quilos. Pedro possui dois gatos para os quais fornece a quantidade de ração em gramas. Faça um programa que receba o peso do saco de ração e a quantidade de ração fornecida para cada gato. Calcule e mostre quanto retará de ração no saco após cinco dias. 3. Cada degrau de uma escada tem X de altura. Faça um programa que receba essa altura e a altura que o usuário deseja alcançar subindo a escada. Calcule e mostre quantos degraus o usuário deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário. 4. Faça um programa que receba a medida do ângulo formado por uma escada apoiada no chão e encostada na parede e a altura da parede onde está a ponta da escada. Calcule e mostre a medida desta escada. 5. Faça um programa para calcular e mostrar a que distância deve estar uma escada da parede. O usuário deve fornecer o tamanho da escada e a altura em que deseja pregar o quadro. Lembre-se de que o tamanho da escada deve ser maior que a altura que se deseja alcançar. X altura em que deseja pregar o quadro. Y distância em que deverá ficar a escada. Z tamanho da escada. 3.8 BIBLIOGRAFIA ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V. Fundamentos da Programação de Computadores. São Paulo: Pearson Prentice Hall.

25 DEITEL, Paul; DEITEL, Harvey. Java for Programmers, 2 nd Education, 2012. ed. Boston: Pearson SAVITCH, Walter. Absolute Java, 5 th Ed. Boston: Pearson, 2013. SCHIDT, Herbert. Java: The Complete Reference, 7 th Ed. New York: Mc Graw Hill, 2007.