Académique Documents
Professionnel Documents
Culture Documents
Programao II
Aula 05
Conhea suas variveis
Quando dissermos algo como um objeto de tipo X, pense em tipo e classe como sinnimos.
Tipos primitivos
As variveis primitivas so como copos
Quando vamos a um local em que bebidas e outros alimentos so servidos em diferentes opes de tamanhos, podemos ordenar os copos no balco para decidir qual deles iremos querer (ou precisar).
pequeno
mdio
grande
gigante
Tipos primitivos
As variveis primitivas so como copos
E, em Java, existem tamanhos diferentes para as variveis primitivas e esses tamanhos tm nomes. Quando voc declarar uma varivel em Java, deve declar-la com um tipo especfico. Os quatro continers mostrados aqui so para os quatro tipos primitivos inteiros em Java.
Tipos primitivos
As variveis primitivas so como copos
Cada copo contm uma quantidade, o mesmo ocorrendo com as variveis primitivas da Java, de modo que, em vez de dizer quero um copo grande de caf francs torrado, voc diria ao compilador quero uma varivel int com o nmero 90, por favor. Exceto por uma pequena diferena... Em Java, voc tambm ter que fornecer um nome para seu copo. Portanto, na verdade diramos Quero um int, por favor, com o valor 341 e chame a varivel de pontos.
Tipos primitivos
As variveis primitivas so como copos
Cada varivel primitiva possui uma quantidade fixa de bits (tamanho do copo). Os tamanhos das seis variveis primitivas numricas em Java so mostrados a seguir:
Tipos primitivos
Tipos primitivos Java.
A seguir estes so listados com suas caractersticas resumidas: Tipo Nmero de bits Boolean e char
boolean char JVM especfico 16 bits
Faixa de valores
true ou false 0 a 65535
Tipos primitivos
Tipos primitivos Java.
Tipo Nmero de bits Faixa de valores Numricos (todos possuem sinal so positivos ou negativos) inteiros
byte short int long float double 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits -128 a 127 -32768 a 32767 -2147483648 a 2147483 -enorme at enorme varia varia
Observe o f. preciso inseri-lo em um valor do tipo float, porque o compilador Java considera tudo que encontra como ponto flutuante como um tipo double, a menos que f seja usado.
Tipos primitivos
Voc no vai querer derramar isto...
Certifique-se de que o valor cabe na varivel.
Voc no pode colocar um valor grande em um copo pequeno. Bem, na verdade voc pode, mas perder alguma coisa. Voc ter, como dizemos, um vazamento. O compilador tenta prevenir isso se ele puder perceber em seu cdigo que algo no vai caber no container (varivel/copo) que voc est usando. Por exemplo, voc no pode derramar um int completamente em um container do tamanho byte, como no exemplo abaixo: Int x = 24; byte b = x; //No funcionar!!
Tipos primitivos
Na lista abaixo, circule as linhas de instrues que seriam legais, caso elas estivessem no interior de um mtodo Java.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. int x = 34.5; boolean boo = x; int g = 17; int y = g; y = y + 10; short s; s = y; byte b = 3; byte v = b; short n = 12 v = n; byte k = 128;
Tipos primitivos
Regras para nomes de variveis (e outras coisas)
Devem comear com uma letra, trao baixo underscore (_) ou com um cifro ($). Voc no pode comear um nome com um nmero. Depois do primeiro caractere, voc pode usar nmeros. Apenas no inicie com um nmero O nome pode ser qualquer coisa que voc quiser, desde que atenda s regras acima e no seja uma das palavras reservadas da Java.
Varivel primitiva
byte b = 7; // os bits representando o valor 7 ficam guardados na varivel (o copo)
Valor primitivo
Varivel de referncia
Dog d = new Dog( );
objeto Dog
Valor da referncia
Diz a JVM para alocar espao para uma varivel de referncia. A varivel de referncia ser, para sempre, do tipo Dog. Em outras palavras, um controle remoto que possui botes para controlar um objeto Dog, mas no um Gato ou um Tigre ou um Hipoptamo ou Boto.
myDog Dog
Diz a JVM para alocar espao para um novo objeto do tipo Dog na pilha de memria gerenciada pelo coletor de lixo da JVM (Heap).
Objeto Dog
Atribui o novo objeto Dog varivel de referncia myDog. Em outras palavras, configura o controle remoto para que ele controle o novo objeto da classe Dog.
myDog
objeto Dog
Dog
Arrays em Java
Conforme foi visto, os tipos primitivos da linguagem Java no so como objetos, isto , as variveis de fato so os endereo de valores daquele tipo e no uma referncia para um endereo em que existe alguma coisa armazenada. Os tipos primitivos so caracterizados pelo nome do tipo (ou simplesmente tipo), nmero de bits e faixa de valores.
Arrays em Java
Arrays so como uma bandeja de copos (variveis) e em Java eles so representados por meio de objetos. Ento, como se cria um array? 1) Declare uma varivel do tipo array de inteiros. Uma varivel do
tipo array um controle remoto para um objeto do array. int[] nums;
Arrays em Java
Arrays so como uma bandeja de copos (variveis) 3) De a cada elemento no array um valor. Lembre-se que os
elementos em um array do tipo int so simplesmente variveis do tipo int.
7 variveis do tipo int
= = = = = = =
Observe que o array em si um objeto, mesmo que seus 7 elementos sejam primitivos
Arrays em Java
Criar um array de objetos Dog
1) Declare uma varivel do tipo array de Dog
Dog[] pets;
Arrays em Java
Criar um array de objetos Dog
3) Crie novos objetos Dog, e atribua-os aos elementos do array. Lembre-se, elementos
em um array de Dog so apenas variveis de referncia. Ainda precisamos dos objetos do tipo Dog.
Dog
Dog
Dog
Dog Dog
Dog
Dog
Dog[]
Arrays em Java
Controlando os objetos Dog do array
Para manipular um objeto referenciado por um elemento de array, basta indicar o nome do array (a referncia para o array), o ndice (em Java eles comeam em 0 e vo at o tamanho declarado 1), e os membros que deseja acessar (geralmente os mtodos que o objeto oferece). Exemplo:
Dog[] pets = new Dog[3]; pets[0] = new Dog(); pets[0].setNome("Fido"); pets[0].latir(3);
Referncias
Santos, R.; Uma Introduo a Programao Orientada a Objetos Usando Java. 1ed, Ed. Campus, 2003. ISBN: 853521206X. Deitel, H. M.; Deitel, P. J.; Java Como Programar. 6ed, Ed. Prentice Hall, 2005. ISBN: 8576050196. Blaha, M.; Rumbaugh, J. Modelagem e projetos baseados em objetos com UML 2. 2. ed. rev. e atual. - Rio de Janeiro, RJ: Elsevier: Campus, 2006. 496 p. ISBN 8535217533 (broch.). Eckel, B.; Thinking in Java. 4ed, Ed. Prentice Hall, 2006. ISBN: 9780131872486. Mclaughlin, Brett; POLLICE, Gary; WEST, David. Use a cabea anlise e projeto orientado ao objeto. Rio de Janeiro: Alta Books, 2007. 441 p. ISBN 9788576081456 (broch.). Sierra, K., Bates, B. Head First Java. , 2ed, Ed. O'Reilly, 2005. 720 p. ISBN 0596009208 Savitch, Walter. Absolute Java. Addison Wesley; 5 th, 2012.0132989964. http://techblog.desenvolvedores.net/tag/poo/