INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA – CAMPUS CAMPINA GRANDE
CURSO: TÉCNICO SUBSEQUENTE EM INFORMÁTICA DISCIPLINA: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
PROFESSOR: ANDERSON F. B. F. DA COSTA SEMESTRE LETIVO
2015.2
LINGUAGEM DE PROGRAMAÇÃO JAVA – MATERIAL EXPLICATIVO E EXERCÍCIOS 01 Conceitos Básicos da Linguagem Java – Operadores, tipos e entrada/saída
Objetivo da aula: Nesta aula iremos trabalhar com a entrada e saída de dados na linguagem Java e também será introduzido o uso dos principais operadores e tipos da linguagem Java.
Leiam atentamente o roteiro abaixo e faça os exercícios. Sempre que desejar, teste no software Eclipse ou software similar os exemplos ilustrados.
Saídas de dados simples usando print, println e printf
Vamos falar a respeito das maneiras de mostrar mensagens na tela, que incluem: System.out.println
System.out.print System.out.printf
Não, isso não é bobagem...desde o momento que você liga o computador, até nos seus jogos e Facebook, mensagens são mostradas na sua tela. São muito importantes e uma das funções mais usadas pelos dispositivos digitais.
O objeto System.out é a saída padrão, que permite exibir as Strings na tela quando o aplicativo de Java é executado. Dentro desse objeto existem métodos para gerar saídas de Strings, entre elas são: println, print e o printf.
A instrução System.out.println(), gera uma saída de texto entre aspas duplas significando uma String,
criando uma nova linha e posicionando o cursor na linha abaixo, o que é identificado pela terminação “ln”. Veja
no exemplo da Listagem 1.
Listagem 1: Saída de uma String com System.out.println
public class TextoSimples {
public static void main(String[] args) {
System.out.println(“Seu texto é inserido aqui, entre aspas duplas”); }
}
O método com print, se for observado não possui o “ln”, por isso exibe uma String sem criar uma nova linha, deixando o seu cursor na mesma linha, veja no exemplo da Listagem 2.
Listagem 2: Saída de uma String com o System.out.print, imprime a 2ª linha do lado da 1ª linha
public class Texto_Simples_print {
public static void main(String[] args) { System.out.print(“José”);
System.out.print(“Silva Moraes”); }
}
O caractere de escape pode ser considerado um caracter especial, permitindo inserir uma nova linha dentro dos métodos print e println do objeto System.out. Veja o exemplo na Listagem 3:
Listagem 3: Gera 4 novas linhas
public static void main(String[] args) {
System.out.print(“Antônio \n Vieira \n dos\n Santo\n ”); }
}
No exemplo acima não é impresso o “\n”, porque o Java identifica que é uma sequência de escape (barra invertida e um caractere de escape) dentro de uma String de caracteres. A sequência de escape “\n” é
representada por um caractere de nova linha o “n”, fazendo que o cursor de saída da tela mova-se para o começo de uma nova linha. Na tabela abaixo algumas sequências de escapes.
O método printf tem uma String de formato que pode consistir em texto fixo e especificadores de
formato. A letra “f” no final da palavra “print” significa “formatted”, ou seja, exibe os dados formatados.
Os especificadores de formato são como marcadores de lugares para um valor, especificando o tipo da saída dos dados que iniciam com um sinal de porcentagem (%) seguido por um caractere representando seu tipo de dado.
Veja no exemplo da Listagem 4, o especificador de formato %s, que é um marcador de lugar para uma String, se for especificado um número no lugar irá gerar um erro.
Listagem 4: Imprime caracteres de Strings referente a cada posição
public class Testa_Especificador {
public static void main(String[] args) { int num1 = 10;
int num2 = 30;
System.out.printf("Soma das variáveis num1 e num 2 = %d",(num1 + num2)); }
}
Em resumo, abaixo segue as principais diferenças dos métodos.
System.out.println: insere uma nova linha, deixando o marcador posicionado na linha abaixo. System.out.print: mantém o cursor na mesma linha. Geralmente são utilizadas sequências de escape
para pular uma linha.
System.out.printf: especifica o formato da entrada do tipo de valor, que deve ser o mesmo tipo de dados apontado na instrução. Se possuir alguma dúvida verifique a tabela acima dos tipos de dados que podem ser usados.
Recebendo dados do usuário: Entrada de Dados
Para receber dados do usuário, temos que usar a classe Scanner, que faz parte do pacote 'java.util'. Vamos dizer ao Java que usaremos essa classe na nossa aplicação. Para isso, adicione essa linha no começo do programa:
import java.util.Scanner;
Bom, temos a classe. Vamos declarar o nosso objeto do tipo Scanner. Vamos chamá-lo de 'entrada'. Sua declaração é feita da seguinte maneira:
Scanner entrada = new Scanner(System.in);
Pronto, a variável ou objeto 'entrada' será usado para ler entradas do sistema. Lembre-se que há uma forte tipagem por trás dos panos. Ou seja, o Java está lidando com bytes, blocos de memória e outras coisas mais complicadas. Então, para ele, há muita diferença entre inteiros, float, doubles e outros tipos. Portanto, precisamos ser bem claros quanto a isso.
Assim, a nossa entrada será bem tipada. Vamos iniciar por inteiros. Para receber um número inteiro do usuário, com nossa variável 'entrada', usaremos a seguinte sintaxe:
Explicações dadas, vamos ver a coisa funcionando. Esse é um exemplo bem simples que pergunta a idade do usuário, espera ele digitar (e dar enter) e exibe essa mensagem na tela:
import java.util.Scanner;
public class Entrada {
public static void main(String[] args) { Scanner entrada = new Scanner(System.in); int idade;
System.out.println("Digite sua idade: "); idade = entrada.nextInt();
System.out.printf("Sua idade é " + idade + "\n"); }
}
No exemplo anterior, usamos o tipo inteiro. Agora vejamos outro exemplo de leitura de dados, utilizando um tipo de dados fracionário como float:
import java.util.Scanner;
public class Entrada {
public static void main(String[] args) { Scanner entrada = new Scanner(System.in); float preco;
System.out.println("Quanto custa algo em uma loja de R$ 1,99? "); preco = entrada.nextFloat();
System.out.println("Hã? " + preco + "?"); }
}
Exemplos de códigos em Java utilizando operadores aritméticas, entrada e saída de dados
Teste os exemplos abaixo e procure entender suas saídas, observando o uso dos comandos e operadores. Em caso de dúvidas procure conversar com o professor ou com os seus colegas.
Exemplo 1:
import java.util.Scanner;
public class Operacoes {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in); int num1;
int num2;
System.out.print("Digite o primeiro número: "); num1 = entrada.nextInt();
System.out.print("Digite o segundo número: "); num2 = entrada.nextInt();
System.out.println();
System.out.println(num1 + " * " + num2 + " = " + (num1 * num2) );
} }
Exemplo 2:
import java.util.Scanner;
public class Operacoes {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in); int num1;
int num2;
System.out.print("Digite o primeiro número: "); num1 = entrada.nextInt();
System.out.print("Digite o segundo número: "); num2 = entrada.nextInt();
System.out.printf("\n%d + %d = %d\n", num1, num2, num1 + num2); System.out.printf("%d - %d = %d\n", num1, num2, num1 - num2); System.out.printf("%d * %d = %d\n", num1, num2, num1 * num2);
} }
Exemplo 3:
import java.util.Scanner;
public class Operacoes {
public static void main(String[] args) { Scanner entrada = new Scanner(System.in); float num1;
float num2;
System.out.print("Digite o primeiro número: "); num1 = entrada.nextFloat();
System.out.print("Digite o segundo número: "); num2 = entrada.nextFloat();
System.out.printf("\n%.2f + %.2f = %.2f\n", num1, num2, num1 + num2); System.out.printf("%.2f - %.2f = %.2f\n", num1, num2, num1 - num2); System.out.printf("%.2f * %.2f = %.2f\n", num1, num2, num1 * num2); System.out.printf("%.2f / %.2f = %.2f\n", num1, num2, num1 / num2);
} }
Exercícios
1. Traduza os pseudocódigos abaixo para a linguagem Java. Inclua saídas na tela sempre que necessário.Teste e Execute.
a)
ALGORITMO
LEIA (nota1, nota2, nota3)
LEIA (peso1, peso2, peso3)
media ← (nota1*peso1 + nota2*peso2 + nota3*peso3)/(peso1 + peso2 + peso3)
ESCREVA media
FIM_ALGORITMO
b)
Algoritmo REAJUSTE_SALARIO
Var SAL_ATUAL, SAL_NOVO, AUMENTO: real
início
leia (SAL_ATUAL)
AUMENTO ← SAL_ATUAL * 0.20
SAL_NOVO ← SAL_ATUAL + AUMENTO
//exibicao do resultado
escreva (SAL_NOVO)
fim
2. 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 30%.
3. Um termômetro exibe a temperatura em graus Centígrados. Sabendo que a fórmula de conversão para graus Fahrenheit é F= (9 * C + 160) / 5, onde F é a temperatura em Fahrenheit e C é a temperatura em Centígrados, efetuar essa conversão e ao final mostrar essa temperatura em graus Fahrenheit.
4. Crie um programa que receba a altura e o peso do usuário, e diga seu IMC (Índice de Massa Corporal), dado pela fórmula:
5. Ler a base e a altura de um triângulo, calcular a sua área e mostrar na saída o valor dessa área. Sabendo-se que: área = (baSabendo-se * altura)/2
6. Faça um algoritmo que peça 2 números inteiros e um número real. Calcule e exiba: a) O produto do dobro do primeiro com metade do segundo.
b) A soma do triplo do primeiro com o terceiro. c) O terceiro elevado ao cubo.
7. 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 necessárias e exiba os resultados em polegadas, em jardas e em milhas.