8/2/2019 Tipos Primitivos e Operadores
1/37
Linguagem e Tcnica de Programao
Tecnologia Java
Professor: Hlder Seixas LimaE-mail: [email protected]
8/2/2019 Tipos Primitivos e Operadores
2/37
Tipos primitivos e operadores
Mdulo II
8/2/2019 Tipos Primitivos e Operadores
3/37
Tipos primitivos
Tipo Contedo Tamanho (bits) Mnimo Mximo
boolean Valor lgico(true ou false)
8 -- --
char CaracterUnicode
16 \u0000 \uFFFF
byte Inteiro com sinal 8 -128 127
short Inteiro com sinal 16 -32.768 32.767
int Inteiro com sinal 32 -2.147.483.648 2.147.483.647
long Inteiro com sinal 64 -263 263 - 1
float Ponto flutuante 32 IEEE 754 IEEE 754
double Ponto flutuante 64 IEEE 754 IEEE 754
Mais detalhes: http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
8/2/2019 Tipos Primitivos e Operadores
4/37
Variveis
Uma varivel a unidade bsica dearmazenamento;
As variveis devem ser declaradasexplicitamente;
Cada varivel tem um tipo, um identificador, eum valor;
As variveis podem ser inicializadas na
declarao.
int idade;boolean estudante;
double salario = 1500.50;
Tipo Identificador
Valor
8/2/2019 Tipos Primitivos e Operadores
5/37
Variveis
package br.edu.ifnmg.fundamentos;
public class AulaFundamentos{
public static void main (String args[ ]){int idade;
boolean estudante = true;double salario = 1500.50;
idade = 20;
System.out.println("Minha idade: "+idade);}
}javac br/edu/ifnmg/fundamentos/AulaFundamentos.java java br.edu.ifnmg.fundamentos.AulaFundamentosMinha idade: 20
8/2/2019 Tipos Primitivos e Operadores
6/37
Constantes
Uma constante declarada de formasemelhante a uma varivel;
Adiciona o modificador final para transformar
uma varivel em constante.
final int IDADE_PENAL = 18;
ModificadorIdentificador
Valor
Tipo
8/2/2019 Tipos Primitivos e Operadores
7/37
Constantes
package br.edu.ifnmg.fundamentos;
public class AulaFundamentos{
public static void main (String args[ ]){int idade;
boolean estudante = true;double salario = 1500.0;
final int IDADE_PENAL = 18;
idade = 20;
System.out.println("Minha idade: "+idade);System.out.println("Idade penal : "+IDADE_PENAL);}
}
javac br/edu/ifnmg/fundamentos/AulaFundamentos.java java br.edu.ifnmg.fundamentos.AulaFundamentos
Minha idade: 20Idade penal : 18
8/2/2019 Tipos Primitivos e Operadores
8/37
Constantes
package br.edu.ifnmg.fundamentos;public class AulaFundamentos{
public static void main (String args[ ]){int idade;boolean estudante = true;double salario = 1500.0;
final int IDADE_PENAL = 18;IDADE_PENAL = 21;
idade = 20;
System.out.println("Minha idade: "+idade);
System.out.println("Idade penal : "+IDADE_PENAL);}}
Constantes no podem ter o valor alterado.
javac br/edu/ifnmg/fundamentos/AulaFundamentos.javabr/edu/ifnmg/fundamentos/AulaFundamentos.java:9: error: cannot assign a valueto final variable IDADE_PENAL
IDADE_PENAL = 21;
^1 error
8/2/2019 Tipos Primitivos e Operadores
9/37
Palavras Reservadas Java
8/2/2019 Tipos Primitivos e Operadores
10/37
Identificadores das variveis
Os identificadores das variveis devem comear por
uma letra do alfabeto, um underscore, ou um $; Podem conter dgitos;
No pode conter caracteres especias, exceto, $ e
undescore; No pode possuir o mesmo nome de uma palavra
reservada.
8/2/2019 Tipos Primitivos e Operadores
11/37
Operadores de Atribuio
A expresso da direita atribuda varivel daesquerda:
A expresso da direita sempre avaliada antesda atribuio.
As atribuies podem ser agrupadas:
8/2/2019 Tipos Primitivos e Operadores
12/37
Operadores Aritmticos
Realizam operaes aritmticas bsicas Operam sobre variveis e literais numricos
8/2/2019 Tipos Primitivos e Operadores
13/37
Operadores Aritmticos
A maioria das operaes resultam num int oulong:
Valores byte, char, e short so promovidos a intantes da operao.
Se algum argumento for long, o outro promovido a long, e o resultado long.
No caso de nmeros com ponto flutuante o
padro double.
8/2/2019 Tipos Primitivos e Operadores
14/37
Converses e Casts
O Java converte automaticamente valores deum tipo numrico para outro tipo maior.
O Java no faz automaticamente o downcast.
8/2/2019 Tipos Primitivos e Operadores
15/37
Exerccio 1
Faa um programa que considere as notas de3 alunos e depois apresente a mdia dasnotas, conforme definies abaixo:
Declare as variveis nota1, nota2 e nota3 do tipobyte; Atribua os valores 10, 5 e 8 para as respectivas
variveis;
Declare uma nova varivel para armazenar oresultado da mdia das variveis.
Exiba na tela a mdia das notas.
8/2/2019 Tipos Primitivos e Operadores
16/37
Exerccio 1: resoluo
package br.edu.ifnmg.fundamentos;
public class MediaNotas{
public static void main(String args[]){byte nota1 = 10;
byte nota2 = 5;byte nota3 = 8;
int notasSomada = nota1 + nota2 + nota3;
double notaMedia = notasSomada/3.0;
System.out.println("Mdia notas: "+notaMedia);}}
Mdia notas: 7.666666666666667
8/2/2019 Tipos Primitivos e Operadores
17/37
Exerccio 2
Faa um programa que considere os salriosde 3 funcionrios e depois apresente a mdiados salrios, conforme definies abaixo:
Declare as variveis salario1 e salario2 do tipofloat; Declare a varivel salrio3 do tipo double; Atribua os valores 1500.5, 2000.99 e 5000 para as
respectivas variveis; Exiba na tela a mdia dos salrios.
8/2/2019 Tipos Primitivos e Operadores
18/37
Exerccio 2: resoluo
package br.edu.ifnmg.fundamentos;
public class MediaSalarios{
public static void main(String args[]){float salario1 = 1500.50f;float salario2 = (float) 2000.99;
double salario3 = 5000;
double mediaSalarios = (salario1 + salario2+ salario3)/3;
System.out.println("Mdia salrios: "+mediaSalarios);}
}
Mdia salrios: 2833.8299967447915
Exerccio 3: Declarao de
8/2/2019 Tipos Primitivos e Operadores
19/37
Exerccio 3: Declarao devariveis e tipos
byte sizeof = 200;
short mom = 43;
short hello mom;
int big = sizeof * sizeof * sizeof;
long bigger = big + big + big
double old = 78.0;
double new = 0.1;
boolean consequence = true;
boolean max = big > bigger;
char 10Valor = 10;
char #ming = 'd';
Encontrar os erros no cdigo abaixo e corrigi-los.byte a = 10;
byte b = 50;
byte c = a+b;
int x = 100;
long y = 300;
int z = x+y;
float f = 10;
float f1 = 10.0;double d = 10.0;
float f2 = d * 2;
int xyz = 100L;
8/2/2019 Tipos Primitivos e Operadores
20/37
Operadores de Comparao
> (Maior que) >= (Maior ou igual que) < (Menor que)
8/2/2019 Tipos Primitivos e Operadores
21/37
Operadores Booleanos
|| (Ou) && (E)
! (Negao) ^ (Ou exclusivo)
8/2/2019 Tipos Primitivos e Operadores
22/37
Condicional com If-Else
if (condio){comando1
}
else{
comando2}
if (x==0){
y = 5;}
else{
y+=6;x++;
}
8/2/2019 Tipos Primitivos e Operadores
23/37
Exerccio 4
Faa um programa que mostre a situao deum aluno no final do semestre, conforme asseguintes definies:
Crie uma varivel que armazene um valorhipottico de nota de um aluno; Se a nota for maior ou igual a 60 ento informe que
o aluno foi aprovado;
Se a nota for maior ou igual a 30 ento informe queo aluno est em recuperao;
Se a nota for inferior a 30 ento o informe que oaluno foi reprovado.
i l
8/2/2019 Tipos Primitivos e Operadores
24/37
Exerccio 4: resoluo
package br.edu.ifnmg.fundamentos;
public class SituacaoAluno{
public static void main(String args[]){float notaAluno = 70;
if(notaAluno >= 60){System.out.println("Aluno aprovado");
}else if(notaAluno >= 30){System.out.println("Aluno em recuperao");
}else{System.out.println("Aluno reprodado");
}}
}
Aluno aprovado
E i 5
8/2/2019 Tipos Primitivos e Operadores
25/37
Exerccio 5
Modifique a resoluo do exerccio 4 para queleia, atravs do teclado, a nota do aluno. Uma boa soluo para fazer isto utilizar a classe
Scanner. Para conhecer melhor a classe Scanner pesquise
no google:javadoc Scanner
E i 5 l
8/2/2019 Tipos Primitivos e Operadores
26/37
Exerccio 5: resoluo
package br.edu.ifnmg.fundamentos;import java.util.Scanner;
public class SituacaoAluno{
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
System.out.println("Nota aluno: ");float notaAluno = scanner.nextFloat();
if(notaAluno >= 60){System.out.println("Aluno aprovado");
}else if(notaAluno >= 30){System.out.println("Aluno em recuperao");}else{
System.out.println("Aluno reprodado");}
}}
E i 6
8/2/2019 Tipos Primitivos e Operadores
27/37
Exerccio 6
Altere novamente o exerccio 4 para que a notado aluno seja recebida atravs de umparmetro no momento da execuo.
Para que serve o String args[] passado ao mtodomain? Este array de String representa os parmetros
passados no momento da execuo.
E i 6 l
8/2/2019 Tipos Primitivos e Operadores
28/37
Exerccio 6: resoluo
package br.edu.ifnmg.fundamentos;
public class SituacaoAluno{
public static void main(String args[]){float notaAluno = Float.parseFloat(args[0]);
if(notaAluno >= 60){System.out.println("Aluno aprovado");
}else if(notaAluno >= 30){System.out.println("Aluno em recuperao");
}else{System.out.println("Aluno reprodado");
}}
}
Cl W
8/2/2019 Tipos Primitivos e Operadores
29/37
Classes Wrappers
til para converter String para um tipo primitivoTipo Primitivo Classe Wrapper
Exemplo de converso deString
byte Byte Byte.parseByte(10)
short Short Short.parseShort(10)
int Integer Integer.parseInt(10)
long Long Long.parseLong(10)
float Float Float.parseFloat(10.10)
double Double Double.parseDouble(10.10)
Condicional com Switch
8/2/2019 Tipos Primitivos e Operadores
30/37
Condicional com Switch
switch(Expr)
{case const1: com1;
...case constN: comN;
default: comDef
}
Condicional com Switch
8/2/2019 Tipos Primitivos e Operadores
31/37
Condicional com Switch
switch(letra){
case i: System.out.println(inserir);
break;case e: System.out.println(excluir);
break;case a: System.out.println(alterar);
break;
default:System.out.println(
Ao ignorada: +letra);
}
Exerccio 7
8/2/2019 Tipos Primitivos e Operadores
32/37
Exerccio 7
Faa um programa que informe ao usurio o nome docanal de TV, conforme as seguintes definies:
Usurio informa o nmero do canal de TV e o sistemaexibe o nome do canal, conforme a relao abaixo:
2 Record 4 Rede TV! 5 SBT 7 Band
12 Globo Quando o usurio digitar um canal no previsto o
sistema deve informar que o canal desconhecido; Utilize a estrutura switch para implementar o algoritmo.
Exerccio 7: resoluo
8/2/2019 Tipos Primitivos e Operadores
33/37
Exerccio 7: resoluo
package br.edu.ifnmg.fundamentos;
public class CanaisTV{
public static void main(String args[]){int numeroCanal = Integer.parseInt(args[0]);String nomeCanal;
switch(numeroCanal){
case 2: nomeCanal = "Record";break;
case 4: nomeCanal = "Rede TV!";break;
case 5: nomeCanal = "SBT";break;
case 7: nomeCanal = "Band";
break;case 12: nomeCanal = "Globo";break;
default: nomeCanal = "desconhecido";}
System.out.println("Canal: "+nomeCanal);}
}
Repetio com while
8/2/2019 Tipos Primitivos e Operadores
34/37
Repetio com while
while(condio){Comando;
}
while(i
8/2/2019 Tipos Primitivos e Operadores
35/37
Repetio com for
for(Expr.Inicializao;condio; expr.passo){Comando;
}
for(i=1; i
8/2/2019 Tipos Primitivos e Operadores
36/37
Exerccio 8
Faa um programa que exiba na tela o osvalores de 1 at 100, conforme as definiesabaixo:
Faa o solicitado utilizandowhile; Faa o solicitado utilizando do while; Faa o solicitado utilizando for;
Exerccio 8: resoluo
8/2/2019 Tipos Primitivos e Operadores
37/37
Exerccio 8: resoluo
package br.edu.ifnmg.fundamentos;
public class Repeticao{
public static void main(String args[]){System.out.print("\n0 at 100 com while: ");int i = 0;while(i < 100){
i = i + 1;
System.out.print(i+", ");}
System.out.print("\n0 at 100 com do ... while: ");int j = 0;do{
j++;
System.out.print(j+", ");}while(j
Top Related