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 “Bem-
vindo à 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
A figura 1 representa em fluxograma o aplicativo que exibe uma linha de
texto.
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
Início
Bem-vindo à
programação Java
Fim
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.
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;
Início numero1 numero2 soma = numero1
+ numero2
A soma
é, soma
Fim
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 ex.
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 = R2
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, 2nd ed. Boston: Pearson
Education, 2012.
SAVITCH, Walter. Absolute Java, 5th Ed. Boston: Pearson, 2013.
SCHIDT, Herbert. Java: The Complete Reference, 7th Ed. New York: Mc Graw Hill,
2007.