Mostrando postagens com marcador SCJP. Mostrar todas as postagens
Mostrando postagens com marcador SCJP. Mostrar todas as postagens

quarta-feira, 21 de julho de 2010

SCJP - 5 Cap- 4 -Operadores

Vocês devem estar estranhando o porque de ta sendo postado o capitulo 4 se o 3 ainda não foi postado? explico: e porque o capitulo 3 e muito extenso e estou meio sem tempo para postar sobre ele, mas tentarei posta-lo antes de escrever sobre o cap-5.
Bem vamos a alguns pontos importantes do capitulo 4 que fala sobre operadores.

Operadores de atribuição compostos

No exame só caem 4 tipos de operadores de atribuição compostos que são +=,-=,*= e /= .e a ordem de precedência de um operador composto e que a expressão do lado direito do = sempre será avaliada primeiro. 
Ex= x *=5+5
(primeiro avalia o que esta ao lado direito do = ) então a expressão fica assim  x = x*(5+5)

Operadores de comparação

Java tem 4 operadores de comparação são eles >=,>,<=,<, eles podem ser usados para comparações com inteiros, ponto flutuante e caractere, no caso de caractere ele baseia-se pela tabela Unicode, e retornam um booleano. As variáveis de referencia podem ser testadas com o operador = = para sabermos se elas referenciam ao mesmo objeto.(verifica se os bits são idênticos) o operador = =  não testa se os objetos são significamente equivalentes , para isso usa-se o equals(). Quando se trata de constantes , exemplo o Enum, nos podemos usar tanto o operador = = como o equals() para saber se referem a mesma constante.

Operador de comparação instanceof

E usado somente com variáveis de referencia e pode-se usa-lo para verificar se o objeto e de um tipo especifico, ou seja se ele passa no teste do E-UM.
Ex: cachorro.instanceof(animal).
Esse resultado retorna um true, pois o cachorro e um animal.


Operador de concatenação de Strings

O sinal de “+” pode ser usado para concatenar duas strings, quando a concatenação combina números inteiros com strings ele transforma o inteiro em string e concatena com a String propriamente dita.
Ex: int a = “teste”; int b = 23; int c =3;
System.out.println(a+b+c);
os valores ints viram caracteres e são adicionados á String , produzindo o resultado “teste233”;

Acréscimo e decréscimo

O Java possui 2 operadores que fazem o papel de acréscimo (++) e decréscimo (--) em uma unidade a variável , a diferença e que se o operador vier na frente da variável ex: ++x o X será incrementado e antes de seu valor ser usado na expressão, já quando o operador vem após variável ex: x++ o incremento só ocorre após a variável usada na expressão.

Operador condicional ternário

Usado para substituir um bloco if  na avaliação de expressões booleanas, ele ao invés de executar um bloco de código se o resultado do teste for true atribui um valor a uma variável. Sua estrutura e a seguinte
X=(expressão booleana) ? valor a atribuir se true : valor a atribuir se for false;
Ex: int x =5;
String status = (x>5) ? ”maior que cinco” : ”menor que cinco”;
Que daria o mesmo que:
if(x>5){
Status = “maior que cinco”;
}else{
Status = “menor que cinco”;
}
Ele e um pouco menos legível, mas economiza linha de código.

sábado, 15 de maio de 2010

SCJP - 5 Cap- 2 -Orientação a Objetos

Bom voltei meus estudos para certificação, terminei o segundo capitulo, muito bom o livro recomendo que leiam (mesmo os que não pretendem fazer a prova). Vamos ao resumo do capítulo.
Encapsulamento- para um bom encapsulamento e necessário que se use variáveis de instancia privadas com seus métodos de acesso publico.
Herança-Relacionamento É-UM: é baseado na herança de classes ou implementação de interfaces, o conceito de É-UM e o mesmo que dizer esse item é-um tipo desse outro. e feito quando uma subclasse estende outra classe, ou seja ela assume o mesmo comportamento da classe mais acima na arvore de herança.
Herança-Relacionamento TEM-UM: são utilizados na utilização em vez de na herança, ou seja A tem-um B os relacionamentos tem-um permite que você projete classes que sigam as boas praticas de OO sem que sejam necessárias classes monolíticas que executem milhares de coisas diferentes.
Polimorfismo:embora o tipo de uma variável de referencia não possa ser modificado ele pode ser usado para se referir a um objeto cujo tipo seja um subtipo do seu próprio.
Métodos sobrescritos: quando uma subclasse herda um método da superclasse e o reimplementa para adicionar um comportamento mais especializado.No tempo de execução a jvm chama a versão da subclasse em uma instância da subclasse, e um instancia da superclasse em uma instancia da superclasse.
O método novo não deve lançar nenhuma exceção verificada nova ou mais abrangente que a declarada no método sobrescrito.
Métodos sobrecarregados: permite que se utilize o mesmo nome do metodo da superclasse só com argumentos e (opcionalmente tipos de retornos) diferentes.
O tipo de retorno pode ser de qualquer valor ou variável que possa ser implicitamente convertido no tipo do retorno declarado.
Ex: short pode ser retornado quando o tipo de retorno declarado for um int.
Construtores:Se o desenvolvedor não criar seu construtor o compilador ir criar um construtor padrão sem argumentos. Um construtor padrão nunca será gerado se você ja tiver implementado um, portanto é aconselhável se você criar um construtor com argumentos que implemente um construtor sem argumentos também.
Construtores também não são herdados
Variáveis e métodos static:Variáveis e métodos staticos pertencem a classe em vez de qualquer instancia especifica.(ou seja , você pode usá-los sem ter nenhuma instancia da classe).
Acoplamento e Coesão: Um dos pontos principais da OO e tentar manter um fraco acoplamento e uma alta coesão na hora de desenvolver suas classes.
Acoplamento e o grau em que uma classe conhece outra, Se o único conhecimento que a classe B tem sobre a classe A e o que a classe A expôs através de sua interface então diz-se que as classes A e B tem acoplamento fraco.
Coesão e o grau de especialização de uma classe, ou seja, e o quanto aquela classe e especialista em algo, isso facilita a manutenbilidade outro beneficio e que ela tende a ser mais reutilizável.

quarta-feira, 13 de janeiro de 2010

SCJP - 5 Cap- 1

Bem hoje terminei de ler o 1º capitulo do livro Certificação Sun para Programador Java 5 e  vou passar um pouco do que achei interessante e importante nesse capitulo.
Na verdade o primeiro capitulo  faz mais uma revisão sobre conceitos  como herança,interfaces, modificadores de acesso, palavras chaves, regras de nomeação etc. colocarei os pontos que acho principais e que deve-se ter sempre fresco na cabeça.

Identificadores legais – os identificadores devem SEMPRE começar por uma letra, caractere de conexão como o (_) underscore ou com um $ (cifrão), não podem NUNCA começar com números.

Convenções de código Java da Sun- apesar se não ser exigido no exame um programador deve tê-la  enraizada na cabeça já.

 Classes e  interfaces começam sempre com letras maiúsculas e as demais minúsculas se varias palavras forem escritas juntas deve-se usar a regra camelCase.
ex- HistoricoDados.
 Para classes o nome deve ser substantivo e para interfaces adjetivo.
 
Métodos a primeira letra deve ser minúscula e depois usa-se a regra camelCase e devem ser descritas com pares e verbo-substantivo.

Variáveis como nos métodos usam regras camelCase com a primeira letra minúscula, deve-se usar nomes curtos e significativos.
Regras de nomeação de propriedades javaBean
Se a propriedade não for booleana o prefixo do método getter deve ser get, do setter set e se for booleana deve ser is.
Ex: setNome(), getNome() , isNome()
Como os javaBeans dão suporte a eventos a convenção para nomeação dos listeners são add para “registrar um evento” e remove para “remover um evento”.
Ex-addAcaoListener, removeAcaoListener
Modificadores de acesso é um outro ponto essencial para quem desenvolve programas em Java e que  também deve estar enraizado na cabeça de qualquer programador.

O acesso public(publico) permite com que as classes, métodos ou atributos possam ser vistos por qualquer classe em qualquer pacote da aplicação.

Acesso private(privado) permite ser enxergado somente dentro da classe ( é recomendado colocar atributos privados e fornecer acesso a eles através de métodos públicos) só usa-se em métodos e variáveis

O protect (protegido) permite ser acessível somente por classes dentro do pacote ou por classes de outro pacote mas que estejam herdando da classe pai que possuí  métodos  protegidos. Só usa-se em métodos ou variáveis.

O default(quando não se coloca nada) e quase igual ao protect a diferença e que só pode ser acessível dentro do pacote. Note que a diferença  para o protegido e que mesmo fora do pacote o protegido pode ser acessado se a subclasse o tiver herdando.

Modificadores de classes
(não referentes a acesso)-  uma classe pode ser public, default , abstract ou strictfp

Publica todos já sabem que e visível em qualquer parte da aplicação, default somente no mesmo pacote, abstract trabalha como uma interface, ela garante que todas as subclasses tenham que implementar a os métodos ou variáveis da classe pai, uma classe abstrata não precisa ter métodos abstratos, mas se uma classe possuir pelo menos um método abstrato ela terá que ser abstrata.

Strictfp- e usado para garantir que qualquer código de método da classe se conformara com as regras do padrão IEEE-754 para pontos flutuantes.

Uma classe pode ser classificada também como final para garantir que nunca será Herdada(isso garante que seus métodos não serão modificados por outras classes).

Interface-  garante a assinatura de um contrato , funciona como uma classes abstrata garantindo que todos seus métodos serão implementados, a diferença e que não possui variáveis  só constantes.(public static final) e todos os métodos tem que ser obrigatoriamente abstratos .
Palavras reservadas
Static – usa-se em variáveis e métodos para fazer com que existam independente de qualquer instancia criada para a classe

Final- a diferença do uso do final em classes, métodos e variáveis e que me classes garante que a mesma não pode ser herdada, métodos garante que não vai se sobrescrito e em variáveis garante que não vai ser modificada.

Transient- usado somente em variáveis de instancias  para dizer para a JVM não serializar essa variável quando for serializar o objeto.

Diferença entre argumentos e parâmetros
Argumentos-  e oque se especifica entre parênteses quando se esta invocando um método
Ex- depositaValor(100) o numero 100 e o argumento passado.
Parâmetro- aquilo que se passa na assinatura do método , indica oque o método deve receber quando invocado.
Ex- void informaNome(String nome)

Para concluir vou falar um pouco dos Enuns- a partir do java 5  permite restringir uma variável para ter uns de poucos valores pré-definidos- em outras palavras uma lista de valores enumerados.
Os enuns podem ser declarados na sua própria classe ou em outra classe, só podem ser públicos ou default e NUNCA devem ser declarados dentro de métodos.
Cada um dos tipos enumerados de um enum  são na verdade uma instância da classe enum.


Esse foi um pequeno resumo dos principais pontos abordados no primeiro capitulo do livro , espero ter ajudado a quem quer estudar para tirar certificação como eu.!

terça-feira, 12 de janeiro de 2010

SCJP - EXAME 310-055

O titulo ja diz um dos meus objetivos para 2010 certificar-me na linguagem java, comecei em janeiro os estudos e espero dentro de 4 meses estar fazendo a prova. Postarei aqui o andamento dos meus estudos, quais dificuldades e quais facilidades estou encontrando, assim como estratégias para mi dar bem na prova.