quinta-feira, 8 de janeiro de 2015

Fundamentos de Java - Escopo de Variáveis Locais

Escopo: Termo utilizado para se referir ao tempo de vida de uma ou mais variáveis.

Variáveis: São nomes atribuídos à endereços na memória de um computador onde se guardam dados.
A declaração de uma variável consiste em dar um nome para a posição de memória a ser usada e especificar qual tipo de dado a guardar na memória.

Quando nos referimos ao escopo de variáveis em Java, temos basicamente três tipos, sendo elas:
  • Variáveis locais
  • Variáveis de instância ou de objeto
  • Variáveis estáticas
Neste post, vamos tratar somente do escopo das variáveis locais.
Variáveis Locais

Identificamos uma variável local, quando declaradas dentro de métodos ou construtores. Neste caso, elas possuem um tempo de vida até o término do bloco de instrução.

Vejamos o exemplo abaixo: 

1:  public class Exemplo {  
2:       public int valor1 = 0;  
3:       public void adicionaValor(int x) {  
4:            valor1 = valor1 + x;  
5:       }  
6:       public void subtraiValor(int y) {  
7:            valor1 = x - y; // Erro de compilação!  
8:       }  
9:  }  

Após a definição da classe, declaramos e inicializamos a variável valor1. Em seguida declaramos um método adicionaValor(int x), que possui uma variável local x. Esta variável local tem seu tempo de vida limitada à execução do método, ou seja, após todas as linhas do bloco de instrução (delimitados por { e }) serem executadas, a variável x deixa de existir.

Um exemplo disso está no método abaixo, chamado subtraiValor(int y), que também possui uma variável local y. Na operação utilizada como exemplo temos o seguinte:

1:  valor1 = x - y;  
Conforme mencionado acima, o escopo da variável local x acaba no final do bloco de instrução do método adicionaValor(int x), sendo assim, não faz sentido ele estar fazendo parte desta operação. Logicamente teremos um erro de compilação, informando que a variável x não existe.

Um outro exemplo de variável local é sua utilização dentro de um bloco de instrução condicional ou de repetição. Vamos ver um exemplo com o comando IF:

1:  public class Exemplo{  
2:       public int valor1 = 1;  
3:       public void metodo1() {  
4:            if (valor1 > 0) {  
5:                 int valor2 = 10;  
6:            }  
7:            System.out.println(valor2); // Erro de compilação!  
8:       }  
9:  }  

Neste exemplo, temos o metodo1() que inicia uma condição verificando se a variável valor1 é maior que 0, se sim, ele declara e inicializa uma variável local valor2 dentro do bloco de instrução condicional IF. Logo após é realizado a impressão da variável valor2 e é gerado um erro de compilação. Ocorreu isso, por quê? A variável valor2 faz parte do escopo do IF e após o término de seu bloco de instrução, ela deixa de existir, mesmo fazendo parte do mesmo método.

quinta-feira, 1 de janeiro de 2015

Java SE 7 Programmer I

Como mencionado na postagem anterior, irei primeiramente em busca da certificação 1Z0-803.

A partir do Java 7, a Oracle realizou algumas modificações no sistema de certificação, fazendo com que o Java SE 7 Programmer fosse dividido em duas etapas.

Em sua primeira etapa, sendo seu exame de código 1Z0-803, servirá como entrada para a certificação completa. Com a efetivação no exame, é possível conseguir o título de Oracle Certified Associate. Seria como um exame para a antiga SCJA 6 que eram cobrados tópicos "mais simples" para realizar o exame, que no entanto, não era muito procurado pelos profissionais.

Mas é importante ressaltar que a Oracle deixou o exame 1Z0-803 mais complexos que o da versão anterior. Agora são cobrados mais tópicos que anteriormente e o nível de dificuldade está maior. Abaixo temos mais informações:

Número do Exame: 1Z0-803
Título Obtido: Oracle Certified Associate, Java SE 7
Versão: Java SE
Valor: $ 150,00
Tempo de Duração: 140 minutos (2 horas e 20 minutos)
Percentual Mínimo para Aprovação: 77%
Número de Questões: 90
Formato: Múltipla escolha

Tópicos
  • Fundamentos de Java
  • Tipos de dados
  • Operadores e estruturas de controle
  • Arrays
  • Estruturas de laço
  • Métodos e encapsulamento
  • Lidando com herança
  • Controle de Exceções

Olá!

Olá! Meu nome é Danilo e atualmente sou formado em Análise de Sistemas e trabalho em uma Operadora de Saúde, o qual dou suporte ao sistema e também desenvolvo ou dou manutenção em scripts PL/SQL a fim de desenvolver relatórios ou automatizar algumas processos.

Sou um admirador da linguagem Java desde o primeiro contato na faculdade em que terminei em 2014.

Decidi criar este simples blog, para compartilhar meus estudos para as certificações Java em que eu decidir realizar. Como não tenho nenhuma, quero começar pelo estudo do exame 1Z0-803.

De acordo com o meu progresso nos estudos, eu vou de forma resumida e objetiva divulgar aqui no blog, a fim de servir como apoio para outros profissionais que queiram se certificar.

Espero poder ajudar de alguma forma.

Abraços!