Professional Documents
Culture Documents
2012.1
Tipos de Dados
Tipos de dados so uma forma de qualificar o dado, varivel ou constante. Exemplo
Descrio
Pode assumir o valor true ou o valor false. Caractere em notao Unicode de 16 bits. Serve para a armazenagem de dados alfanumricos. Tambm pode ser usado como um dado inteiro com valores na faixa entre 0 e 65535. Inteiro de 8 bits em notao de complemento de dois. Pode assumir valores entre -27=-128 e 27-1=127. Inteiro de 16 bits em notao de complemento de dois. Os valores possvels cobrem a faixa de -2-15=-32.768 a 215-1=32.767 Inteiro de 32 bits em notao de complemento de dois. Pode assumir valores entre -231=2.147.483.648 e 231-1=2.147.483.647. Inteiro de 64 bits em notao de complemento de dois. Pode assumir valores entre -263 e 263-1. Representa nmeros em notao de ponto flutuante normalizada em preciso simples de 32 bits em conformidade com a norma IEEE 754-1985. O menor valor positivo represntvel por esse tipo 1.40239846e-46 e o maior 3.40282347e+38 Representa nmeros em notao de ponto flutuante normalizada em preciso dupla de 64 bits em conformidade com a norma IEEE 754-1985. O menor valor positivo representvel 4.94065645841246544e-324 e o maior 1.7976931348623157e+308
double
Caracteres especiais
Converso de Tipos
Variveis de tipos diferentes podem ser atribudas entre si por meio de um processo de converso chamado de "casting". Exemplo float d=7.8f; short c=13; long a=5L; int r=10; r=(int)a; System.out.println(r); // Resultado 5 r=(int)c; System.out.println(r); // Resultado 13 r=(int)d; System.out.println(r); // Resultado 7
Tipo de operadores
Operadores de atribuio: =, +=, -=, *=, /= Operadores aritmticos: +, -, *, /, %, ++, - Operadores relacionais: <, <=, >, >=, ==, != Operador instanceof Operadores lgicos: &, |, ^, !, &&, ||
Operadores
Operadores de atribuio
Para nmeros, o tamanho importa.
int x = 5f; byte b = 500; ERRO ERRO
Operadores aritmticos
+ adio subtrao * multiplicao / diviso % resto ...println(17 % 5); ...println(17.0 % 5.0);
2 2.0
Operadores Relacionais
Operador instanceof
Verifica se o OBJETO referenciado pelo lado esquerdo UM objeto do tipo do lado direito.
true false
Operadores lgicos
&
&&
||
Classe
A classe est sempre identificada pelo comando class e
mtodos tero ao lado parnteses "()". O importante, por enquanto, saber o que acontece dentro das chaves "{ }" de um mtodo.
Exemplo:
package primeiro; public class Main {
Classe uma "estrutura" que agrupa atributos e mtodos por afinidade de objetivo
System.out.println(Ol mundo);
}
}
Atributo
Os Atributos so tambm denominadas de variveis de
instncia. So armazenadores de dados do programa. So variveis que podem ser utilizadas em qualquer lugar da classe, ao contrrio das variveis locais que so utilizveis
double b=90;
double media;
Mtodo
So equivalentes a uma subroutina ou subprograma em
linguagens estruturadas. No C e C++, so semelhantes a Funo, no Pascal ao Procedimento (Procedure) e Funo. Exemplo:
package primeiro;
public class Main {
calcula.calcula_media1();
System.out.println(calcula.calcula_media2(30, 40)); } public Main() { } }
Objeto
como se fosse um clone ou uma cpia da classe.
Tudo o que voc precisa entender que "calcula" como se fosse uma cpia da classe "Calcula"
Exemplo:
Calcula calcula=new Calcula(); // criou o objeto, "calcula" como se fosse o objeto sendo uma cpia da classe "Calcula"
calcula.calcula_media1();
// executa o mtodo "calcula_media1()" que agora faz parte do objeto "calcula".
Encapsulamento set/get
So usados para encapsular atributos. Apesar de ser possvel declarar
os atributos como pblicos, no conveniente em termos de segurana. Por isto, necessrio que as variveis continuem privativas as classes. Mas como ento as demais classes podero usar as variveis se elas A soluo criar mtodos que recebam os valores das variveis ou Exemplo: mandem valores para variveis e s Um exemplo de encapsulamento em que os atributos "num1", trabalhar com eles. esto privadas?
Herana
Herana o mecanismo pelo qual uma classe obtm caractersticas
(mtodos e atributos) de outra classe. A classe "filho" que recebe estas Exemplo: caractersticas chamada de package mamifero; "subclasse" e a classe "pai" que passa public class Guepardo extends Mamifero{ estas caractersticas so chamadas de String alimentacao_adulta="canivora"; "superclasse".
String animal = " Guepardo"; float expectativa_de_vida=8; double velocidade_maxima=110; public void metodo_Guepardo(){ System.out.println(" Este animal um" + animal); System.out.println(animal + " um " + classe_de_animal); System.out.println("Tem expectativa de vida de " + expectativa_de_vida +"anos"); System.out.println("Ele } } chega a uma velocidade de " + velocidade_maxima+"km/h");
Classe Abstrata
Vamos supor que no queiramos usar a classe em si por acharmos que
mamfero algo "abstrato" demais! Melhor dizendo, mamfero pode ser um monte de espcie de animais que sequer podem ser visualizados como um s, afinal, um "elefante" bem diferente de um "rato", no entanto, so ambos mamferos.
Exemplo:
Por isto, podemos no querer saber sobre o mamfero em si por ser genrico demais ou por no fazer sentido querer us-lo.
package mamifero;
public abstract class Mamifero{ // usamos o qualificador abstract para dizer que uma classe abstrata
Mtodos Abstratos
So mtodos declarados em classe abstrata e no realizam nenhuma
tarefa ou operao, apenas so declarados. A finalidade do mtodo abstrato obrigar que as subclasses tenham os mesmos nomes e tipos dos mtodos da superclasse. como se fosse um contrato, voc Exemplo: herda as caractersticas desta classe e as suas vantagens e tambm a obrigao de executar certas tarefas por meio de mtodos com mesmo nome.
public abstract void numero_de_pernas(); // indica que as subclasses tero que criar um mtodo concreto equivalente a este mtodo
Interface
semelhante a uma classe abstrata com algumas diferenas. Uma classe
pode herdar apenas uma classe abstrata ou concreta, mas pode implementar vrias interfaces. Outra diferena que a interface s tem mtodos abstratos, isto obriga a classe que implementa a interface a ter os mtodos correspondes de mesmo nome e com os mesmos
parmetros.
Exemplo:
public interface ICliente {
Alis, a finalidade de uma interface esta mesma, obrigar a criao de mtodos com as mesmas caractersticas definidas na interface.
Polimorfismo Esttico
Polimorfismo Esttico: Ocorre quando na definio de uma classe criamos mtodos com o mesmo nome, porm com argumentos diferentes. Dizemos neste caso que o mtodo est sobrecarregado (overloading). A deciso de qual mtodo chamar tomada em tempo de compilao, baseada nos argumentos que foram passados.
Exemplo:
public class Sobrecarga { public int metodo_sobrecarregado(){ // no passa nenhum valor System.out.println("mtodo sobrecarregado 1"); return 0; } public float metodo_sobrecarregado(int a){ // passa uma varivel inteira System.out.println("mtodo sobrecarregado 2"); return 0f; }
Sobrecarga o processo em que mtodos distintos tm o mesmo nome, mas se diferenciam pelo tipo de parmetros passados, ou melhor, o tipo de variveis entre os parnteses, que vai diferenciar um mtodo e outro.
Polimorfismo Dinmico
Esta associado com o conceito de herana e ocorre quando uma
subclasse redefine um mtodo existente na superclasse. Dizemos neste caso que o mtodo foi sobreescrito (overriding) na subclasse. A deciso de qual mtodo executar tomada somente em tempo de execuo, como veremos mais adiante.
Exemplo:
Na classe "Mamfero", havia um mtodo abstrato: "public abstract void numero_de_pernas()", este mtodo foi substitudo por um mtodo no abstrato, ou melhor, mtodo concreto, com mesmo nome na subclasse: "public void numero_de_pernas()".
A sobrescrita no necessariamente feita entre um mtodo abstrato e outro concreto, pode ser tambm entre dois mtodos concretos.
Construtor
muito parecido com o mtodo, mas tem propriedades que o
diferencia dele. - O construtor possibilita o acesso a informaes da classe e a criao de um objeto. - Ao contrrio do mtodo, o construtor no retorna valor nunca. Ele pode realizar tarefas, como operaes matemticas, por exemplo, de dentro de seu escopo (o lugar entre as chaves { }) como um mtodo normal. fcil reconhecer um construtor, ele parecido com o mtodo, tem
O construtor pode estar explcito ou implcito na classe, ou seja, podemos ver ou no na classe, mas ele sempre estar l!
Exemplo de construtor
Veja o exemplo deste cdigo em que o construtor usado como se
fosse um mtodo comum no programa. Exemplo
Contato
E-mail : profvmarques@gmail.com