Buscar

4 Variaveis-Expressoes - Parte 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Variáveis e expressões – Parte 1 
Prof. Bruno Nogueira 
Começamos com um exemplo... 
Variáveis e expressões 2 
Entrada de dados 
Variáveis e expressões 3 
}  Em Java, usamos a classe Scanner, fornecida pela 
linguagem, para entrada de dados pelo usuário pelo 
teclado 
}  Para isso, precisamos importar a definição de Scanner, a partir 
do pacote java.util, usando o comando 
 import	java.util.Scanner 
}  Esse comando, assim como todas as importações necessárias, 
deve aparecer no começo do programa 
}  Para passar a receber os dados do teclado, precisamos do 
comando 
Scanner	teclado	=	new	Scanner	(System.in)	
Ou outro nome que você desejar. Mas repare que este é intuitivo! 
Saída de dados 
Variáveis e expressões 4 
}  Conforme já vimos, para imprimir algo na saída, usamos o 
comando System.out.println();	
}  System é uma classe que faz parte do Java 
}  out é um objeto especial dentro dessa classe 
}  println é um método do objeto out 
}  Exemplo de uso: 
	
System.out.println(ovosPorCesta	+	“	ovos	por	cesta.”);	
Conteúdo a ser impresso 
Imprime o valor da variável 
Concatena, une Frases entre aspas - Strings 
Saída de dados 
Variáveis e expressões 5 
}  Outros exemplos	
System.out.println(“Esta	frase	”	+	“se	une	a	esta.”);	
Saída:	Esta	frase	se	une	a	esta.	
	
int	valorCompra	=	42;	
System.out.println(“Você	gastou	”	+	valorCompra	+	“reais.”);	
Saída:	Você	gastou	42	reais.	
	
System.out.println(“Você	gastou”);	
System.out.println(valorCompra);	
System.out.println(“reais.”)	
Saída:	Você	gastou	
	42	
	reais.	
	
	
	
 
Variáveis e expressões 6 
Variáveis 
Variáveis e expressões 7 
}  Variáveis são usadas para armazenar dados, tais como 
números e letras 
}  O número, letra ou outro tipo de item de dado armazenado 
em uma variável é chamado de valor 
}  Valores de variáveis, de maneira geral, podem mudar ao longo 
da execução de um programa 
Variáveis 
Variáveis e expressões 8 
Declaração das variáveis 
Comandos de atribuição 
Variáveis 
Variáveis e expressões 9 
}  Comandos de atribuição são utilizados para atribuir valores às 
variáveis 
}  Variáveis representam posições de memória 
}  Valores são codificados como 1’s e 0’s 
}  Valores codificados como cadeias binárias são armazenados nas 
posições de memória da variável 
}  Nomes de variáveis devem ser representativos 
}  NUNCA usar variáveis de letra única 
}  Nome de variável ajuda na legibilidade e interpretação do código 
}  Por exemplo, o que está sendo somado? 
	x	=	y	+	z;	
}  E agora? 
	saldo	=	saldoAnterior	+	salario;	
Declaração e tipo de variáveis 
Variáveis e expressões 10 
}  Dizemos que Java é uma linguagem tipada 
}  Ou seja, variáveis têm tipos 
}  Tipos limitam valores que podem ser armazenados em uma 
variável, bem como as ações que podem ser feitas sobre ela 
}  Tipos são definidos na declaração de uma variável 
}  Toda variável deve ser declarada antes de ser usada 
}  Na declaração, dizemos ao compilador que o programa trabalhará 
com uma determinada variável de um tipo específico de dados 
}  A partir disso, podemos utilizar e manipular esses dados 
Declaração de variáveis 
Variáveis e expressões 11 
}  A sintaxe de declaração de variáveis em Java segue a 
seguinte forma: 
 
 Tipo	Variavel_1,	Variavel_2,	...	;	
 
 
}  Exemplos 
 int	numeroDeCheques,	numeroDeDepositos;	
	double	quantia,	taxaDeJuros;	
	char	answer;		
Declaração do tipo 
Nomes das variáveis daquele tipo, 
separadas por vírgula 
Finaliza declaração 
Identificadores Java 
Variáveis e expressões 12 
}  O nome técnico para um nome em linguagem de 
programação é identificador 
}  Em Java, um identificador (nome de variável ou classe) pode 
conter somente letras, dígitos de 0 a 9 e o caractere 
underscore (_) 
}  O primeiro caractere não pode ser um dígito 
}  Não pode conter espaços, pontos, *, 
}  objeto1, objeto_2, objetoNumero1 são identificadores válidos 
}  objeto	1, 1objeto, objeto.1 são identificadores inválidos 
}  Não tem limite de tamanho 
}  É sensível a maiúsculas e minúsculas 
}  primeiroobjeto, PrimeiroObjeto e primeiroObjeto são 
identificadores distintos 
Identificadores Java 
Variáveis e expressões 13 
}  Java possui algumas palavras chave ou palavras reservadas 
pela linguagem 
}  Têm um sentido especial predefinido 
}  Não podem ser usadas em identificadores 
}  Todas são totalmente em letras minúscuas 
}  Exemplos 
}  public, class, static, void, protected, private, ... 
}  Relembrando: nomes de classes devem começar com 
letras maiúsculas e nomes de métodos e variáveis com 
letras minúsculas 
Tipos de dados 
Variáveis e expressões 14 
}  Java tem dois conjuntos de tipos de dados: tipos de 
classe e tipos primitivos 
}  Tipos de classe é o tipo de dados de objetos de uma classe 
}  Classe especifica valores que são armazenados e operações possíveis 
sobre eles 
}  O tipo da classe tem o mesmo nome da classe 
}  Por exemplo, cadeias de caracteres (como “Programar	 é	
legal!”) entre aspas são valores do tipo classe String 
}  Tipos primitivos são mais simples que objetos 
}  Armazena apenas valores, não métodos (operações) 
}  São valores que não se pode decompor, como letras e números 
Tipos primitivos em Java 
Variáveis e expressões 15 
Tipos primitivos em Java 
Variáveis e expressões 16 
}  Quanto maior o espaço de memória usado por um tipo, 
maior a quantidade de valores que ele pode armazenar 
}  Tipos byte, short, int e long conseguem representar 
valores inteiros 
}  Variam quanto ao intervalo de valores 
}  Em geral, int é o mais utilizado 
}  Tipos float e double armazenam números com partes 
fracionárias 
}  Chamados de números de ponto flutuante 
}  Mesmo que a parte fracionária seja zero 
¨  5 é um número inteiro 
¨  5.0 é um número de ponto flutuante 
}  Geralmente, double é o mais utilizado 
Tipos primitivos em Java 
Variáveis e expressões 17 
}  O tipo char é usado para caracteres simples, como letras, 
dígitos e pontuação 
}  Caracteres devem ser escritos utilizando aspas simples ‘ ’ 
char	simbolo;	
simbolo	=	‘A’;	
System.out.println(simbolo);	
 
}  Cadeias de caracteres não possuem tipo primitivo em Java 
}  São representadas por objetos da classe String 
}  Utilizam aspas duplas “ ” 
String	cadeia;	
cadeia	=	“Palavra”;	
System.out.println(cadeia);	
 
Tipos primitivos em Java 
Variáveis e expressões 18 
}  O tipo boolean é usado para armazenar valores lógicos 
}  Pode armazenar dois valores, verdadeiro ou falso 
}  Usado para armazenar respostas a questões lógicas 
¨  “O número é maior que 5?” 
¨  “A palavra digitada pelo usuário foi Sim?” 
 
boolean	resposta,	resposta2;	
resposta	=	true;	
resposta2	=	false;	
}  Todos os tipos primitivos começam com letras minúsculas 
}  byte, short, int, long, float, double, char, boolean 
}  Java faz distinção entre maiúsculas e minúsculas 
Comandos de atribuição 
Variáveis e expressões 19 
}  Para atribuir valores a uma variável ou modificar seu valor, 
basta usar um comando de atribuição 
}  Usamos o sinal de igualdade =, chamado de operador de 
atribuição 
}  Ordena o computador a mudar o valor da variável ao lado 
esquerdo da atribuição para o valor da expressão ao lado direito 
da atribuição 
}  Variavel = Expressão; 
}  A expressão pode ser outra variável, um número ou uma 
expressão mais complicada, construída com operadores 
aritméticos 
}  + (soma), - (subtração), * (multiplicação), / (divisão) 
Comandos de atribuição 
Variáveis e expressões 20 
}  Exemplos 
}  quantidade	=	3.99;	
}  primeiraInicial	=	‘B’;	
}  score	=	numeroDeCartas	+	pontuacao;	
}  ovosPorCesta	=	ovosPorCesta	–	2;	
}  Atribuição também pode ser feita na declaração de um 
objeto 
}  int	valor	=	2;	
}  double	preco	=	3.3,	taxa	=	12.4;	
}  float	 precisao	 =	 0.8,	 precisaoTotal	 =	
precisao;	
Compatibilidade de atribuição 
Variáveis e expressões 21 
}  Não se pode colocar valores em uma variável que ela não 
suporte, ou que não possa ser convertido para ela 
}  Por exemplo,não se pode colocar o valor 3.5 em uma variável 
do tipo int 
}  Nem mesmo um valor 3.0 é aceito por int! 
}  3.0 e 3.5 são variáveis de ponto flutuante, ocupam mais espaço 
em memória que um int! 
}  Em alguns casos, valores podem ser convertidos 
}  Quando lidando com número, conversão é implícita 
na maioria das vezes (feito automaticamente pelo 
compilador 
}  Exemplos de conversões automáticas 
double	variavelDouble	=	7;	
int	variavelInt	=	8;	
variavelDouble	=	variavelInt;		
 
}  De maneira geral, podemos atribuir o valor de uma 
variável para outro tipo de maior precisão 
 
 
Compatibilidade de atribuição 
Variáveis e expressões 22 
byte short int long float double 
Exercício 
Variáveis e expressões 23 
Encontre os erros e 
aponte as soluções 
para as seguintes 
atribuições em Java: 
Conversão de tipo (type casting) 
Variáveis e expressões 24 
}  Em Java, podemos explicitamente modificar o tipo de uma 
variável para outro 
}  Útil em casos em que a transformação implícita não é válida 
}  Por exemplo, mudar o tipo de um valor 2.0 de double para int 
envolve o type casting 
}  Exemplo de atribuição ilegal: 
double	distancia	=	9.0;	
int	pontos	=	distancia;	
}  Para que funcione, precisamos fazer a conversão explícita 
int	pontos	=	(int)	distancia;	
Conversão de tipo (type casting) 
Variáveis e expressões 25 
int	pontos	=	(int)	distancia; 
}  O valor armazenado em pontos é uma “versão int” do 
valor armazenado em distancia	
}  Se o valor armazenado em distancia é 25.96, o valor de 
(int)	distancia	é 25 
}  Se o valor armazenado em distancia é 9.0, o valor de 
(int)	distancia é 9 
}  Na conversão de tipo, cria-se um novo valor para ser 
armazenado na variável à esquerda 
}  Isso é, o valor da variável original não é modificado 
}  Nestes exemplos, o valor da variável distancia não é 
modificado 
Conversão de tipo (type casting) 
Variáveis e expressões 26 
}  Exemplo 
double	valor	=	25.36;	
int	valorMaisTaxas	=	(int)valor	+	5;	
System.out.println(“O	valor	mais	taxas	é	de	“	+	valorMaisTaxas);	
}  O que será impresso? 
O	valor	mais	taxas	é	de	30		
Conversão de tipo (type casting) 
Variáveis e expressões 27 
}  Exemplo 
double	valor	=	25.96;	
int	valorMaisTaxas	=	(int)valor	+	5;	
System.out.println(“O	valor	mais	taxas	é	de	“	+	valorMaisTaxas);	
}  O que será impresso? 
O	valor	mais	taxas	é	de	30		
Conversão de tipo (type casting) 
Variáveis e expressões 28 
}  Quando fazemos uma conversão de tipos de maior 
precisão para menor precisão, os valores são truncados 
}  Não é feito arredondamento 
}  Quando transformamos um double em um int, a truncagem 
despreza a parte decimal após o ponto decimal 
Operadores aritméticos 
Variáveis e expressões 29 
}  Uma expressão aritmética combina operandos, 
operadores e parênteses 
}  Operandos: variáveis ou números 
}  Operadores: +, -, *, / e % 
}  Podem ser usados com qualquer tipos de operandos, inclusive com 
com operandos de diferentes tipos 
}  O valor gerado, entretanto, pode variar de acordo com o tipo dos 
operandos 
}  Por exemplo, a expressão	numero1	+	numero2	
¨  Se tanto numero1 quanto numero2 forem do tipo int, o resultado 
também é do tipo int	
¨  Entretanto, se numero1 ou numero2 forem do tipo double (ou outro 
tipo de ponto flutuante), o resultado será deste segundo tipo 
byte short int long float double 
Operadores aritméticos 
Variáveis e expressões 30 
}  Expressões maiores, com mais de dois operandos, podem 
ser vistas como uma série de passos menores 
}  Cada passo envolvendo dois operandos 
}  Por exemplo, a expressão 
	 	numero1	+	(numero2	*	numero3)	
}  Primeiro, é avaliado numero2	*	numero3	
}  Ao resultado da primeira operação, é somado o valor de numero1	
Operadores aritméticos 
Variáveis e expressões 31 
}  Operador de divisão requer atenção especial 
}  Na divisão, tipo dos operandos pode modificar drasticamente 
o resultado 
}  Quando um dos operadores é do tipo ponto flutuante, o 
resultado é um ponto flutuante e o resultado é, geralmente, o 
que se espera de uma divisão 
}  Caso contrário, o resultado é diferente do esperado 
}  Exemplos 
}  9.0 / 2 resulta em 4.5 
}  9 / 2 resulta em 4 
}  O resultado da divisão de dois inteiros é truncado e a parte 
decimal é descartada 
Operadores aritméticos 
Variáveis e expressões 32 
}  % é operação de módulo (mod) 
}  Pega o resto de uma divisão 
}  Exemplos: 
}  14 / 4 = 3 
}  14 % 4 = 2 
}  Tem mais aplicações do que pode parecer 
}  Por exemplo, para saber se um número é par ou ímpar, basta testar se 
numero % 2 é igual a 0 
}  Operadores + e – também podem ser usados em 
operações unárias 
}  Um único operando 
}  Exemplo: numeroPositivo	=	-numeroNegativo;	
Parênteses e regras de precedência 
Variáveis e expressões 33 
}  Parênteses podem ser utilizados para agrupar itens em 
operações aritméticas 
}  Indicam quais operações devem ser feitas antes 
(custo	+	taxa)	*	desconto	
custo	+	(taxa	*	desconto)	
 
}  Se omitir os parênteses, em qual ordem serão avaliadas as 
expressões? 
Parênteses e regras de precedência 
Variáveis e expressões 34 
 
 
MAIOR PRECEDÊNCIA 
}  Primeiro: operadores unários: +, -, !, ++ e -- 
}  Segundo: operadores binários *, / e % 
}  Terceiro: operadores binários + e – 
MENOR PRECEDÊNCIA 
Parênteses e regras de precedência 
Variáveis e expressões 35 
Operadores de atribuição especial 
Variáveis e expressões 36 
}  Operador de atribuição (=) pode ser utilizado com um 
operador aritmético, como +, -, * ou / 
}  Por exemplo, se quisermos incrementar uma variável 
quantidade com 5, basta fazer 
quantidade	+=	5;	
que é igual a fazer 
quantidade	=	quantidade	+	5;	
}  De forma similar, se quisermos decrementar, dividir ou 
multiplicar 
quantidade	-=5;	
quantidade	/=5;	
quantidade	*=5;	
Operadores de incremento e decremento 
Variáveis e expressões 37 
}  Para adicionarmos ou subtrairmos 1 unidade do valor de 
uma variável, podemos utilizar operadores de incremento 
(++) ou decremento (--) 
contador++;		
equivale a 
contador	=	contador	+	1;	
}  De maneira similar 
contador--;		
equivale a 
contador	=	contador	–	1;	
 
Operadores de incremento e decremento 
Variáveis e expressões 38 
}  Para testar: qual o valor das seguintes expressões 
	
int	n	=	3;	
int	m	=	4;	
int	result	=	n	*	(++m);	
 
e 
 
int	n	=	3;	
int	m	=	4;	
int	result	=	n	*	(m++);	
Exercício 
Variáveis e expressões 39 
}  Escreva um programa Java que calcule o número de artigos 
aceitos em uma conferência, de acordo com o algoritmo 
abaixo 
ALGORITMO NumeroArtigosAceitos 
 
DECLARE taxaAceitacao, numeroSubmetidos, totalAceitos NUMÉRICO 
ESCREVA "Digite o número de artigos submetidos" 
LEIA numeroSubmetidos 
ESCREVA "Digite a taxa de aceitação desta conferência" 
LEIA taxaAceitacao 
totalAceitos <- taxaAceitação * numeroSubmetidos 
ESCREVA "O número de artigos aceitos é de " 
 
FIM ALGORITMO NumeroArtigosAceitos 
Exercício II 
Variáveis e expressões 40 
}  Escreva um programa Java para o cálculo de sua média no 
semestre 
}  MP = (2*P1 + 2*P2 + 3*P3) / 7 
}  MF = 0,6 * MP + 0,2 * TP + 0,2 * AI 
Exercício III 
Variáveis e expressões 41 
}  Escreva um programa Java que mostre, separadamente, o 
quociente e o resto da divisão de dois números 
fornecidos pelo usuário

Outros materiais