quarta-feira, 2 de setembro de 2009

Declaração de Classe, Variaveis de Instancia,variaveis,Métodos e comentarios,Tipos de instruções

*** Primeira regra, java é case-sensitive ou seja:
classe é diferente de Classe
esCola é diferente de escola
ruA é diferente de rua
(Letras maiusculas e letras minusculas são totalmente diferente em identificadores)


Considerações:
[x] - Tudo que estiver entre [] é opcional, nesse caso x é opcional
identificador - Nome, como você chama ele
Qualquer identificador não pode ser uma keyword.

keywords = são palavras reservadas pela Tecnologia java.
Os { } Definem o início e o fim do escopo de algo.



Por onde começo?
Sabendo a estrtura de uma Classe!

Qual a Estrutura de uma Classe?
*1 - Declaração da Classe
*2 - Declaração de Variaveis de Atributo(Opcional)
*3 - Declaração de métodos(opcional)
*4 - Comentários - (opcional)

Como eu Declaro uma Classe?

[modificador_de_acesso] class identificador{

Bloco_de_codigo

}

*modificador_de_acesso - Determina a acessibilidade que outras Classes terão com essa.Só podemos usar para Classe, public, abstract,final.(São keywords) - Vamos usar public por enquanto.
*class - Indica que é a declaração de uma Classe, indica que todo Bloco_de_codigo faz parte da classe(É uma keyword)
*Bloco_de_codigo - Indica que tudo que estiver la, é da CLASSE
*identificador - É como você chama sua Classe(sua espeficação), e deve começar com letras(Não pode ser keyword)

*** Importante lembrar que toda classe que você compilar, ira gerar um Class File com o mesmo identificador da CLASSE,Então cada Classe tem seu arquivo.java que depois compilado ela tem, um arquivo.class

A especificação da JVM DIZ, o código da JVM é armazenado em Class Files que conêm cada um no máximo uma classe pública.

Source File = arquivo.java
Class File = arquivo.java


Como eu declaro um método?


[modificador_de_acesso] tipo_retorno identificador([argumentos]){

Bloco_de_codigo

}

*modificador_de_acesso- É uma keyword que determinara como será o acesso a esse membro
*tipo_retorno - Todo método deve espeficar um tipo de retorno, se não for retornado nada deve-ser usar a keyword void.
*([argumentos]) - argumentos são opcionais como mostrado em [] porem , os () não são opcionais. São variaveis locais que serão passados na invocação do método.
*Bloco_de_codigo - É aonde ficara as instruções que o método fará


Variaveis:

Você usa variáveis para armazenar e retirar dados de seus programas.

Variáveil Membro é a mesma coisa que Variaveis de Instancia que é a mesma coisa que variaveis atributo.
Quando você instancia um objeto, as variaveis agora são chamadas de Variaveis de Instancia pois contem o estado específico daquele objeto em particular.

Variaveis Atributo:
* São Variaveis declaradas dentro de uma classe(ou seja fora de um método) e sem a keyword static.
* Tambem são conhecidas com:
Variaveis de Instancia ou Variaveis Membro
* Quando um objeto é instanciado elas são chamada de Variaveis de Instancia porque vão conter o estado daquele OBJETO em particular(Instancia da classe).


Como declarar Variaveis de Atributo?

[modificador_de_acesso] tipo identificador [=valor];

*modificador_de_acesso- É uma keyword que determinaram como será o acesso a esse membro
*tipo - Qual sera o tipo de dado armazenado na variavel. Algumas variaveis contem numeros, outras referências, outras booleans etc
*identificador - Nome que a variavel atributo receberá, ID,nome,sobreNome etc
*=valor - É opcional, É o valor que você da a sua variavel atributo, o dado que ela receberá



Oque são variáveis locais?
São variáveis definidas dentro de um método ou de um bloco de construtor. Elas tem esse nome pois estão apenas disponíveis dentro do método onde forão declaradas.


Para que servem Variáveis? Variaveis de Atributo são variáveis!!!
- São espaços de memória que conterão o estado em particular de algo.
- Armazenar dados
- Atribuir uma variavel a outra
- Representar valores
- Armazenar Referências
Variaveis são posições de memória que vão conter oque foi atribuido a elas.




Como declarar Variaveis locais?
*** Perceba que elas não tem modificador de acesso
*** Perceba que elas são declaradas dentro de um método
***Para usar uma variavel local, antes você tem que incializar ela, Variáveis locais não tem valor Default

tipo identificador;

*tipo - Qual sera o tipo de dado armazenado na variavel. Algumas variaveis contem numeros, outras referências, outras booleans etc
*identificador - Nome que a variavel atributo receberá, ID,nome,sobreNome etc



Qual a diferença entre Variaveis de Instancia e Variaveis Locais?


Variavel Atributo:
*Variaveis Atributo tem valor Default:
Tipos Inteiros = 0
Pontos Flutuantes = 0.0
char = \u0000
boolean = false
Referência = null



public class MinhaClasseComVariavelIntancia{

public int minhaVariavelAtributo = 10;


public static void main(String[] array){
new MinhaClasseComVariavelIntancia(); //Agora eu tenho um objeto

}

}


Desenhando para melhor aprender:


Aqui é necessário o método main para criar-mos um objeto. Sem objeto aqui so teriamos a especificação de uma variavel Atributo.


Variavel Local:
*Não tem valor Default

public class MinhaClasseComVariavelLocal{


public void metodo(){
int variavelLocal = 10;

}

}

Desenhando para melhor aprender:



Esse Local Variable é do metodo()



Declarando variáveis local na mesma Linha:
*** Isso só pode ser feito se elas forem do mesmo tipo
*** Lembre-se se usar a virgula(,)

tipo identificador[,identificador];

ou

tipo identificador = valor [,identificador = valor];


Ainda tem dúvidas doque é Variavel de Instancia e Local?
- Variavel Local, declarada dentro de um método. Todo método tem um espaço chamado - Local Variable - lembra?
- Variavel de Instancia, É de cada objeto em particular, Todo objeto mora em Heap, consequentemente a Variavel de Instancia também!
- Variáveis Locais não tem valor Default, Variaveis Atributo tem valor Default


Temos 2 tipos de instruções básicas:
*Instrução é uma ou mais linhas de códigos terminadas com - ; - ou - } -


Instrução Simples:
- Se a linha é uma instrução, deve -se sempre terminalá com - ; -
int x = 0;
x = 20;

Instrução Composta:
- Se a linha de instrução representa o início de um bloco de código então se incia com - { - e se termina com - } -
if(x > 3){

Bloco_de_codigo

}



Boas praticas sobre identificadores:


Identificador de Classes -
*Preferência somente utilização de letras
*Os identificadores não pode ser keywords(Palavras reservadas de java)
*As primeiras letras das plavras começam com letra maiuscula, MinhaClasse,ClasseEscola etc.
*De preferencia sempre substantivos
*Evitar abreviações UMJ, JkL etc.
*A primeira letra do nome podem ser (letras,$ ou _(underscore)), depois da primeira letra eu posso colocar numeros:
Ex:(Todos são aceitos, porem não são boas práticas)
_000
$000
a000
b000


Identificadores de métodos,variaveis de Instancia e variaveis locais-

A primeira palavra toda com letra minuscula, se houver uma segunda a primeira letra é maiuscula(da segunda palavra)
- minhaVariavel
- meuMetodo
- minhaSoma


2 - Só é permitido letras ou $ ou _(underscore) como primeiro caractere nos identificadores
_001
$001
a001

3 - Depois da primeira letra é permitido numeros
m001
$aaaaa
_o009o

Comentários:
Tudo após // é ignorado pelo compilador ou tudo entre /* entre */ ou /** entre */ também é.

3 tipos:

1 - Simples linha - // comentario
2 - Tradicional - /* comentario */
3 - JavaDoc - /**comentario */ - uma ferramenta de java para criar Documentação. Vem com o SDK e a ferramente tem esse nome mesmo: javadoc
Comentários de javadoc devem começar com /** e terminar com */


Curiosidades:
ID - significa Item identifier




É hora da Revisão:


- Cuidado java é case-sensitive

- Toda Classe tem uma Estrutura(Declaração de Classe, Declaração de Variaveis Atributo(opcional), Declaração de Métodos(opcional), Comentários(opcional))

- Para se Declarar uma classe:

[modificador_de_acesso] class identificador{

Bloco_de_codigo

}

- Para se Declarar um método:

[modificador_de_acesso] tipo_retorno identificador([argumentos]){

Bloco_de_codigo

}

- Para se Declarar uma Variavel Atributo:

[modificador_de_acesso] tipo identificador [=valor];

- Para se Declarar Variaveis Locais:

tipo identificador;

- Variaveis de Atributo são declaradas dentro do Bloco_de_codigo de uma classe e fora de um método

- Variveis Locais são declaradas dentro do Bloco_de_codigo de um método

- Para declarar mais de uma variaveis na mesma linha, as variáveis precisam ser do mesmo tipo.

- Lembre-se todo método tem uma area chamada : Local Variables

- Temos 2 tipos de instruções, Instrução Simples e Instrução Composta

- Vimos boas práticas para identificadores

- Temos 3 tipos de comentários: Simples linha, tradicional,javadoc

- Variáveis Locais não tem valor Default, Variaveis Atributo tem valor Default

- Valores Default de Variáveis Atributo:
Tipos Inteiros = 0
Pontos Flutuantes = 0.0
char = \u0000
boolean = false
Referência = null



Proximo Post, Tipos de dados em java!!!
CYA DUDES!!!

Um comentário: