Aprendendo Java Para Certificação #8

Tempo de leitura: 4 min

Escrito por blackzig
em 28/10/2019

Identificadores

O Java tem regras para identificadores e elas se aplicam para dar nomes as variáveis, métodos, classes e campos.

Existem apenas três itens que você deve se lembrar.

  • Os nomes devem começar com letra ou com os símbolos $ ou _, aliás estes dois símbolos são os únicos que você pode utilizar em um nome.
  • Os números podem serem adicionados ao nome, mas não como primeira carácter do nome.
  • Os nomes não devem ser iguais as palavras que o Java utiliza (são as palavras reservadas). O Java é case sensitive com isto você pode fazer variações de palavras com o mesmo nome. Mas isto não é uma boa ideia.

             O exame não exige que você decore todas as palavras reservadas, mas as mais comuns é bom você saber como por exemplo, class, abstract, os identificados das variáveis primitivas e assim por diante.

Outra técnica para dar nome aos identificadores é utilizar o CamelCase. Por exemplo, thisIsMyClass. A técnica consiste em você adicionar a letra maiúscula na nova palavra que está se iniciando no identificador. É mais fácil ler desta maneira thisIsMyClass ou desta thisismyclass?

Algumas regras que os programadores seguem são as seguintes:

  • Nome de variáveis e métodos começam com a letra minúscula e seguem a técnica CamelCase.
  • Nome de classe começam com a letra maiúscula e seguem a técnica CamelCase.
  • Apesar de poder utilizar o símbolo $ para começar a nomear um identificador não é uma boa ideia, porque o compilador utiliza este símbolo para alguns arquivos.

Variáveis Locais

  • Uma variável local é definida dentro de um método.
  • Variáveis locais precisam ser iniciadas antes de ser utilizadas.
  • Elas não têm valores padrões e tem valores aleatórios antes de serem inicializadas.

O compilador não vai deixar você ler uma variável que não foi inicializada. Por exemplo, o código a seguir gera um erro de compilação:

Veja que o x não foi inicializado e quando o compilador verificar isto apontará o erro. A mensagem será: variable x might not have been initialized.

Vamos ver mais um exemplo.

Veja que as duas variáveis int não foram inicializadas. Mas por que só a variável onlyOneBranch não compila?

O compilador é inteligente o bastante para saber que a variável answer vai ter o valor atribuído 1 ou 2, só que a onlyOneBranch não segue o mesmo princípio, por isto o compilador gera um erro de compilação.

Instâncias e Variáveis de Classe

Variáveis que não são locais são conhecidas como variáveis de instância ou variáveis de classe. Variáveis de instância são também chamadas de campos. Variáveis de classe são compartilhadas por múltiplos objetos.

Instâncias e variáveis de classe não precisam ser inicializadas. Estas variáveis possuem tipos padrões de inicialização. Você precisa saber os valores padrões destas variáveis.

Quando não houver valor atribuído a estas variáveis o compilador sempre irá utilizar o valor da tabela.

Entendendo Escopo de Variável

Vimos que variáveis locais são declaradas dentro de métodos. Quantas variáveis locais você vê neste método?

public void eat(int piecesOfCheese){

            int bitesOfCheese = 1;

}

Há duas variáveis locais. bitesOfCheese é declarada entro do método e piecesOfCheese é chamada por parâmetro. Ambas variáveis estão dentro do escopo do método. Isto significa que elas não podem ser utilizadas fora do método.

Variáveis locais nunca tem um escopo maior do que a do método que ela está inserida. Contudo, ela pode ter um escopo menor. Por exemplo:

A variável hungry tem mesmo escopo do método, bitesOfCheese tem um escopo menor. A variável bitesOfCheese só pode ser utilizada dentro do escopo do if.

Como você pode ter notado o escopo (área de atuação) são limitados pelas as chaves ({}).

Tome cuidado no exame com os escopos, podem aparecer questões que podem tentar te confundir utilizando os escopos. Vamos a um exemplo.

Quando você ver um código deste a primeira coisa é identificar os blocos de código (escopos). Neste caso há três blocos, basta ver as aberturas e fechamentos das chaves. Neste exemplo tudo está correto, não há nada que possa dar um erro de compilação.

Vamos ver mais um código.

Lembrando que variáveis de instância são também chamadas de campos. Variáveis de classe são compartilhadas por múltiplos objetos.

Nesta classe nós temos uma classe de variável(MAX_LENGTH), uma instância de variável(length) e duas variáveis locais(inches e newSize).

MAX_LENGTH é uma classe de variável porque tem a palavra static na sua declaração. Esta variável permanece até o fim do programa.

length é uma variável de instância, esta variável só pode ser utilizada dentro do escopo do Mouse e esta variável vai existir enquanto o objeto Mouse existir.

A variável local inches só pode ser utilizada dentro do escopo grow e vai existir até o fim da execução do método grow.

A variável newSize só pode ser utilizada dentro do bloco if e vai existir até o fim da execução do if.

Vamos relembrar as regras do escopo.

  • Variável local: variável que fica dentro do escopo que inicia com a abertura da chave({) e termina com o fechamento da chave(}).
  • Variável de instância: variável inicia com a criação do objeto e terminará quando o garbage collector fazer a limpeza.
  • Variável de classe: variável inicia com o início do programa e termina quando o programa é fechado.

❤️ Curso Java Para Iniciantes

http://bit.ly/java-swing

👍 Curso de Desenvolvimento Web Completo

http://bit.ly/2FnB5Sp

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro

Aprenda a Criar e Programar Jogos Completos em 2D e 3D!

Seja um Desenvolvedor de Jogos Profissional