Buscar

Aula 06 Tipos Primitivos em Java

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 7 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 7 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

Programação Orientada a Objetos
Professores autores
Adriano Bezerra
Manuel Gomes
UiráKulesza
Aula 6 – Tipos Primitivos em Java
Apresentação
Nesta aula, você vai aprender um pouco sobre os tipos primitivos oferecidos pela linguagem Java. Esses tipos são fundamentais para a construção de programas e
sistemas de médio e grande porte na linguagem. Além de conhecer os diferentes tipos oferecidos pela linguagem, apresentamos diversos exemplos de como usá-los e
manipulá-los. Finalmente, a aula será finalizada com uma apresentação mais detalhada da classe String.
Objetivos
Ao final desta aula, você será capaz de:
saber quais são os tipos primitivos e respectivas características existentes na linguagem Java;
aprender como manipular alguns tipos numéricos;
saber sobre a classe String;
saber onde podemos declarar as variáveis que representam tipos primitivos ou referências para objetos dentro de uma classe Java.
Tipos Primitivos em Java
Olá pessoal! Nesta aula, iremos retomar nossos estudos
da linguagem Java para conhecer os tipos primitivos que
ela oferece.
A linguagem Java oferece um total de 8 tipos primitivos para criação de nossos programas. Tais tipos são usados para declararmos as variáveis que auxiliam na
construção dos algoritmos e classes dos programas que descrevemos. A Tabela 1 apresenta um resumo dos tipos primitivos oferecidos pela linguagem.
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
1 of 7 08/19/2013 12:30 PM
Tabela 1 – Tipos primitivos de Java
Apesar da linguagem Java oferecer tantos tipos, muitos deles são capazes de representar os mesmos tipos de dados, mas com uma capacidade de armazenamento
maior (em uma maior quantidade de bits na memória do computador). Variáveis do tipo byte, short, int e long, por exemplo, podem ser usadas para representar
números inteiros, variando em diferentes faixas de valores (ver detalhes na Tabela), muito embora os tiposint e long sejam os mais usados. O mesmo acontece com
variáveis do tipo float e double, que são usadas para representar números reais.
O tipo boolean é usado para declarar variáveis que podem assumir um dos seguintes valores:true (verdadeiro) oufalse(falso). Variáveis booleanas são bastante usadas
para tomadas de decisões em comandos condicionais (if) ou de repetição (for, while).
Finalmente, o tipo char é usado para representar caracteres, como, por exemplo, as letras de alfabetos de línguas de diferentes países. Apesar de em alguns
programas ser necessário o uso do tipo char para representar e permitir o processamento de caracteres de uma frase ou texto, por exemplo, o mais comum é usar a
classe String. Tal classe é usada para armazenar um conjunto de caracteres, sendo seu uso bem mais fácil e simples do que usar variáveis do tipo char. No final desta
aula, aprenderemos um pouco mais sobre o funcionamento e uso da classe String.
Usando os tipos primitivos de Java
Para usar os tipos primitivos de Java, basta declarar variáveis do tipo específico que você deseja usar. É possível também já inicializar as variáveis no momento da
sua declaração. Vejamos alguns exemplos na Listagem 1.
int idade = 18;1.
long tamanho;2.
float salarioFuncionario;3.
double poupanca = 100.0;4.
boolean casado;5.
boolean ferias = false;6.
char caracter1 = ‘A’;7.
Listagem 1 – Declaração e inicialização de variáveis em Java
Na listagem, podemos observar a declaração de 7 variáveis de tipos distintos. Inicialmente, foram declaradas duas variáveis de valores inteiro (linhas 01-02). A
primeira é a variável idade do tipo int que foi inicializada com o valor 18. A segunda é a variável tamanho do tipo long que não foi inicializada. Cada variável não
inicializada em Java recebe um valor de inicialização (default) dependendo do tipo escolhido. A Tabela 2 apresenta valores default escolhidos. No caso da variável
tamanho, como ela do tipo int, ela é inicializada com o valor default inicial zero (0).
Logo a seguir (linhas 03-04), foram declaradas duas variáveis de valores reais: a variável salario Funcionario do tipo float, que é inicializada com o valor default zero
(0,0), e a variável poupanca do tipo Double,que foi inicializada com o valor 100.0. As variáveis booleanas casado eferias (linhas 05-06) podem assumir dois valores,
true e false. No caso, a variável casado é iniciada com o valor default false, já a variável ferias foi inicializada explicitamente com o valor false. Finalmente, é declarada
a variável caracter 1 que é inicializada com o valor ‘A’.
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
2 of 7 08/19/2013 12:30 PM
Tabela 2 – Valores default de tipos primitivos de Java
Atividade 1
Crie, compile e execute uma classe Java, de nomeTesteTiposPrimitivos,com um método main(), que declara as variáveis que foram
apresentadas na Listagem 1.
1.
Em seguida, experimente imprimir o valor de tais variáveis usando o método System.out.println().2.
Observe durante a execução do programa que variáveis não inicializadas têm um valor inicial padrão conforme apresentado na Tabela 2.3.
Regras e convenções para declarações de variáveis
Na linguagem Java, existe um conjunto de regras que devem ser seguidas para nomear as variáveis. O primeiro símbolo de declaração de uma variável
pode ser uma letra (minúscula – a até z – ou maiúscula – A até Z), ou um dos seguintes caracteres “_” (underscore) ou “$” (cifrão). Na maioria dos
programas, entretanto, é comum declarar as variáveis com o primeiro símbolo sendo uma letra minúscula, conforme foi ilustrado na declaração das
variáveis da Listagem 1. 
Os demais símbolos de declaração de uma variável podem ser, além de qualquer letra (maiúscula ou minúscula) e dos caracteres “_” e “$”, também
algum número. Observe, por exemplo, na Listagem 1, a declaração das variáveis caracter1esalarioFuncionario.
Seguindo as regras acima, o compilador da linguagem Java reclama sempre que declaramos uma variável começando com números, ou qualquer outro
símbolo que não sejam “_” e “$”. Assim, caso a gente declare as seguintes variáveis, o compilador acusará erro:(i) “1minhaVariavel” – o nome dessa
variável está incorreto, porque inicia com um número; e (ii) “#nome” – variável declarada incorretamente também porque se inicia com um “#”.
Além das regras acima, é importante lembrar que existe um conjunto de palavras reservadas (do inglês: keywords) na linguagem Java, como, por
exemplo: main, new, while, if, for, int, long, float, double. Tais palavras são reservadas na linguagem para um determinado propósito, e dessa forma o
compilador Java não permite que o desenvolvedor declare alguma variável de forma idêntica a alguma das palavras chaves. Veja a listagem de todas as
palavras reservadas no quadro 1 a seguir.
Palavras Reservadas da Linguagem Java
Modificadores de acesso
Private: acesso apenas dentro da classe.
Protected: acesso por classes no mesmo pacote e subclasses.
Public: acesso de qualquer classe.
Modificadores de classes, variáveis ou métodos
Abstract: classe que não pode ser instanciada ou método que precisa ser implementado por uma subclasse não abstrata.
Class: especifica uma classe.
Extends: indica a superclasse que a subclasse está estendendo.
Final: impossibilita que uma classe seja estendida, que um método seja sobrescrito ou que uma variável seja reinicializada.
Implements: indica as interfaces que uma classe irá implementar.
interface: especifica uma interface.
Native: indica que um método está escrito em uma linguagem dependente de plataforma, como o C.
New: instancia um novo objeto, chamando seu construtor.
Static: faz um método ou variável pertencer à classe ao invés de às instâncias.
Strictfp: usado em frente a um método ou classe para indicar que os números de ponto flutuante seguirão as regras de ponto flutuante em todas as
expressões.
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
3 of 7 08/19/201312:30 PM
Synchronized: indica que um método só pode ser acessado por uma thread de cada vez.
Transient: impede a serialização de campos.
Volatile: indica que uma variável pode ser alterada durante o uso de threads.
Controle de fluxo dentro de um bloco de código
Break: sai do bloco de código em que ele está.
Case: executa um bloco de código dependendo do teste do switch.
Continue: pula a execução do código que viria após essa linha e vai para a próxima passagem do loop.
Default: executa esse bloco de código caso nenhum dos teste de switch-case seja verdadeiro.
Do: executa um bloco de código uma vez, e então realiza um teste em conjunto com o while para determinar se o bloco deverá ser executado
novamente.
Else: executa um bloco de código alternativo caso o teste if seja falso.
For: usado para realizar um loop condicional de um bloco de código.
If: usado para realizar um teste lógico de verdadeiro o falso.
Instanceof: determina se um objeto é uma instância de determinada classe, superclasse ou interface.
Return: retorna de um método sem executar qualquer código que venha depois desta linha (também pode retornar uma variável).
Switch: indica a variável a ser comparada nas expressões case.
While: executa um bloco de código repetidamente até que uma certa condição seja verdadeira.
Tratamento de erros
Assert: testa uma expressão condicional para verificar uma suposição do programador.
Catch: declara o bloco de código usado para tratar uma exceção.
Finally: bloco de código, após um try-catch, que é executado independentemente do fluxo de programa seguido ao lidar com uma exceção.
Throw: usado para passar uma exceção para o método que o chamou.
Throws: indica que um método pode passar uma exceção para o método que o chamou.
Try: bloco de código que tentará ser executado, mas que pode causar uma exceção.
Controle de pacotes
Import: importa pacotes ou classes para dentro do código.
Package: especifica a que pacote todas as classes de um arquivo pertencem.
Primitivos
Boolean: um valor indicando verdadeiro ou falso.
Byte: um inteiro de 8 bits (signed).
Char: um caracterunicode (16-bit unsigned).
Double: um número de ponto flutuante de 64 bits (signed).
Float: um número de ponto flutuante de 32 bits (signed).
Int: um inteiro de 32 bits (signed).
Long: um inteiro de 64 bits (signed).
Short: um inteiro de 32 bits (signed).
Variáveis de referência
Super: refere-se à superclasse imediata.
This: refere-se à instância atual do objeto.
Retorno de um método
Void: indica que o método não tem retorno.
Palavras reservadas não utilizadas
Const: Não utilize para declarar constantes; use publicstatic final.
Goto: não implementada na linguagem Java por ser considerada prejudicial .
Literais reservados
De acordo com a Java LanguageSpecification, null, true e false são tecnicamente chamados de valores literais, e não palavras reservadas. Se você
tentar criar algum identificador com esses valores, você também terá um erro de compilação.
Quadro 1 – Palavras reservadas da Linguagem Java. Fonte: <http://www.linhadecodigo.com.br/Artigo.aspx?id=83>. Acesso em: 14 maio 2010.
Trabalhando com os valores das variáveis
Ao longo da criação dos nossos programas, é comum, além de declararmos e inicializarmos as variáveis, trabalharmos com ela na lógica do nosso programa. No
caso de variáveis de tipos primitivos numéricos inteiros ou reais, podemos usar os operadores matemáticos tradicionais como soma (“+”), subtração (“-“),
multiplicação (“*”) e divisão (“/”).
A Listagem 2 apresenta diversos exemplos de uso dos operadores. Inicialmente, são declaradas duas variáveis (salario1, salario2) do tipo float. Em seguida, uma
nova variável (somaSalario) é criada e seu valor é inicializado com a soma das variáveis salario1 e salario2.
A variável poupanca1 é calculada como o dobro do salario1, ou seja, é o valor do salario1 multiplicado (operador “*”) pelo valor 2. A variável do tipo double gastoMes
é calculada como a subtração entre o valor do salario1 e o valor de 590.68. Finalmente, a variável idade é calculada como a subtração entre dois valores inteiros:
2010(que representa o ano corrente) e 1980(o ano do seu nascimento).
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
4 of 7 08/19/2013 12:30 PM
float salario1 = 700.0, salario2 = 855.0;1.
float somaSalario = salario1 + salario2;2.
double poupanca1 = salario1 * 2;3.
double gastoMes = salario1 – 590.68;4.
int idade = 2010 – 1980;5.
Listagem 2 - Manipulação de variáveis de tipos numéricos
Atividade 2
Estenda a classeTesteTiposPrimitivoscriada no exercício anterior para incluir a declaração de variáveis acima.1.
Em seguida, imprima os valores de tais variáveis usando o método System.out.println().2.
A classe String
A classe String é usada em Java para representar um conjunto de caracteres. Apesar de ser uma classe, a criação de objetos do tipo String não exige o uso da palavra
chavenew.
A Listagem 3 apresenta a declaração de uma variável nome1 sendo inicializada com o valor“João Santos”, assim como de outra variávelnome2com o valor“Maria das
Graças”.
Observe que para criar objetos do tipo Stringnão é necessário criar um objeto usando a palavra-chave new, como pode ser visto no exemplo da variável nome2.
Uma string em Java é nada mais nada menos do que um conjunto de caracteres separados por aspas e que podem ser atribuídos diretamente para
variáveis do tipoString.
A terceira linha da listagem mostra a declaração da variável frase do tipo String. No caso, está sendo atribuído para ela a concatenação (união) da variável nome1 com
a string “gosta de “ e, finalmente, a variável nome2. Observe que essa concatenação é feita através do operador “+”. O próprio compilador Java consegue interpretar
tais comandos e traduzir para que ocorra uma concatenação de strings em tais casos. Dessa forma, o valor final que a variável fraseirá armazenar será “João Santos é
o pai de Maria das Graças”.
String nome1 = new String(“João Santos”);1.
String nome2 = “Maria das Graças”;2.
String frase = nome + “ é o pai de “ + nome2;3.
Listagem 3 – Declaração e inicialização de variáveis em Java
Para imprimir uma variável do tipo String, é possível usar o comandoSystem.out.println() normalmente, de forma idêntica como fazemos com os tipos primitivos.
A Listagem 4 mostra uma classe que contém um método main() para impressão das variáveis apresentadas na Listagem 3.
public class ProgramaPrincipal {1.
 public static void main(String args[])2.
String nome 1 = “João Santos”;3.
 String nome2 = “Maria das Graças”;4.
 String frase = nome + “ é o pai de “ + nome2;5.
6.
 System.out.println(nome1);7.
 System.out.println(nome2);8.
 System.out.println(frase);9.
 }10.
}11.
Listagem 4 – Declaração e inicialização de variáveis em Java
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
5 of 7 08/19/2013 12:30 PM
Atividade 3
Crie, compile e execute uma classe de nomeTesteStringscom as variáveis do tipo String declaradas na Listagem 4.1.
Em seguida, estenda o programa criando novas variáveis que criam novas frases usando variáveis String, por exemplo.2.
Crie variáveis com o seu nome e alguém da sua família.3.
Faça concatenações das Strings usando o operador “+”.4.
Declaração de variáveis em classes
Em um programa Java, as variáveis que declaramos tanto de tipo primitivos quanto de tipos de classes/objetos (como, por exemplo, a classe String) podem ser
declaradas e usadas tanto no método main() quanto diretamente como atributos de classes ou variáveis locais de métodos.
Na Listagem 5, por exemplo, vemos inicialmente a declaração da variável idade do tipo inte salario do tipo float na forma de atributos da classe Pessoa. Observe que
tais atributos podem ser usados nos métodos set e get da própria classe Pessoa. Essas variáveis da classe Pessoa são criadas para cadaobjeto que é instanciado
em qualquer trecho de um programa Java. Ou seja, se criarmos dois objetos da classe Pessoa, cada objeto irá manter internamente em memória seu próprio nome,
idade e salario.
Essa situação é ilustrada na Listagem 6. Nesse exemplo, vemos a declaração de duas variáveis objetos da classe Pessoa (pessoa1, pessoa2), além de uma variável
inteira (anoAtual) do tipo int. Observe que, logo a seguir, os nomes dos objetos da classe Pessoa, assim como o anoAtual, são também impressos.
public class Pessoa {1.
 // Atributos da classe2.
 private String nome;3.
 private int idade;4.
 private float salario;5.
6.
 // Construtor da classe7.
 public Pessoa(String nomePessoa, int idadePessoa,8.
 float salarioPessoa){9.
 nome = nomePessoa;10.
 idade = idadePessoa;11.
 salario = salarioPessoa;12.
 }13.
 // Método set e get de idade14.
 public int getIdade(){15.
 return idade;16.
 }17.
 public void setIdade(int idadePessoa){18.
 idade = idadePessoa;19.
 }20.
 ...21.
}22.
Listagem 5 – Declaração de variáveis em uma Classe
public class ProgramaPrincipal {1.
 public static void main(String args[])2.
Pessoa pessoa1 = new Pessoa(“João”, 22, 1500.0);3.
 Pessoa pessoa2 = new Pessoa (“Maria”, 25, 2500.0);4.
 int anoAtual = 2010;5.
6.
 System.out.println(“Nome da pessoa 1: “ + pessoa1.getNome());7.
 System.out.println(“Nome da pessoa 2: “ + pessoa2.getNome());8.
 System.out.println(“Ano Atual: “ + anoAtual);9.
10.
 }11.
}12.
Listagem 6 – Declaração de variáveis no métodomain
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
6 of 7 08/19/2013 12:30 PM
Leitura Complementar
No tutorial oficial da Linguagem Java, você poderá adquirir mais conhecimentos sobre os seguintes assuntos:
variáveis:
<http://java.sun.com/docs/books/tutorial/java/nutsandbolts/variables.html>
tipos primitivos:
<http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html>
Strings:
<http://java.sun.com/docs/books/tutorial/java/data/strings.html>
Resumo
Nesta aula, você viu os tipos primitivos da linguagem Java. Você estudou também como manipular esses tipos. Aprendeu sobre a classe String e suas semelhanças
com os tipos primitivos. Por fim, você aprendeu a declarar, modificar os valores e imprimir as variáveis de tipos primitivos e String.
Autoavaliação
1 - Crie, compile e execute as classes ProgramaPrincipal e Pessoa apresentadas nas Listagens 5 e 6.
2 - Modifique a classe ProgramaPrincipal para criar três novos objetos Pessoa, que irão representar alguém da sua família ou amigos.
3 - Modifique a classe Pessoa para incluir dois novos atributos: (i) estaDeFerias do tipo boolean, sendo inicializada com false; (ii) curso do tipo String
para indicar algum curso atual que a pessoa esteja fazendo. Observe que a inclusão de tais atributos exige que seja modificado o construtor para ser
passado novos parâmetros para inicializar os novos atributos. Crie também métodos set() e get() para cada um dos novos atributos.
4 - Modifique a classe ProgramaPrincipal para inicializar os novos atributos criados para a classe Pessoa, assim como os respectivos métodos de
impressão dos dados.
Referências
THE JAVA Tutorials. Disponível em: <http://java.sun.com/docs/books/tutorial/index.html>. Acesso em: 14 maio 2010.
Voltar Imprimir Topo
Metropole Digital http://www.metropoledigital.ufrn.br/aulas/disciplinas/po...
7 of 7 08/19/2013 12:30 PM

Outros materiais