Conteúdo da quarta vídeo-aula do Curso de Java, material essencial de apoio para o acompanhamento do curso, de forma a assegurar o progresso na senda da linguagem de programação Java.

Java Curiosa & Divertida

O mistério do CAFE BABE

Vamos nos deter um pouco mais no exame do número mágico que inicia os arquivos dos Bytecodes a serem executados pela JVM que, como vimos na aula passada, é representado pelo número hexadecimal CAFE BABE.

Primeiramente, vejamos porque os números hexadecimais são usados na ciência da computação.

Observem, na figura abaixo, que quatro bits podem representar, no sistema binário, qualquer número entre 0 (0000) e 15 (1111), ou seja, um conjunto de 16 números.

cafe babe

Bingo! Cada dígito na base hexadecimal, pode representar exatamente 16 números decimais e isso simplifica bastante a representação do código, pois cada dígito hexadecimal substitui 4 bits, ou seja, um nibble; dois dígitos hexadecimais substituem 8 bits, ou um byte e 4 dígitos hexadecimais substituem nada menos do que 16 bits (2 bytes), ou o que chamamos palavra ou word…​ e, vamos e venhamos, é muito mais simples a representação hexadecimal CAFE do que a binária 1100101011111110…​

O que devemos ter muito claro em mente, é que qualquer dessas duas notações representam exatamente o mesmo número. A única coisa que se altera, é a base numérica adotada.

Fazendo uso da calculadora, disponível entre os utilitários de qualquer sistema operacional, no modo "programador", podemos facilmente converter o número mágico CAFE BABE para seu equivalente no sistema decimal, como vemos nas figuras abaixo:

cafe hex dec

Concluímos, portanto, que o número hexadecimal CAFE BABE corresponde ao número 3.405.691.582, no sistema decimal. Uma coisa interessante é que, na propaganda da Oracle, eles afirmam que os aplicativos Java são executados em mais de três bilhões de dispositivos!

3billion java

O que vocês acham? Será uma mera coincidência? Teoria da conspiração? Homens-de-Preto? Deixo para vocês a tarefa de resolver este mistério…​

Lógica de Programação

Declaração de Variáveis em Java

Não vamos adentrar aqui num estudo pormenorizado da memória física (hardware) dos computadores, mas seria interessante que vocês fizessem um pesquisa no Google, para examinar um pouco mais pormenorizadamente o assunto, em especial com relação à memória RAM (Random Access Memory — memória de acesso aleatório). Forneço abaixo alguns links sobre este assunto.

Uma coisa verdadeiramente fantástica com relação aos computadores, aliás aquilo que os faz serem efetivamente úteis, é a forma como podemos guardar dados temporariamente na memória (ou gravá-los para recuperação posterior).

Cada byte da memória física é representado por um endereço único, representado em notação hexadecimal, seja ela de que dimensão for, desde alguns kilobytes até vários gigabytes — cada célula de memória tem seu endereço. No jargão das linguagens de programação, chamamos a estes endereços de variáveis e, para não ter que recorrer à notação hexadecimal, o que tornaria a leitura do código muito difícil, damos um nome à variável, de acordo com as regras específicas da linguagem de programação usada.

Conhecer o endereço da memória, contudo, seria de pouca utilidade se não pudéssemos guardar nada nele, não é mesmo? Assim sendo, vinculado àquele endereço único, é reservado um determinado montante de memória para o armazenamento dos dados. Surge então a questão: como determinar este montante?

Algumas linguagens de programação fazem isso em tempo de execução, ou seja dinamicamente, mas não é este o caso de Java. Embora seja matéria de controvérsia qual seria o melhor enfoque, o fato é que, desde sua concepção, optou-se por uma linguagem estaticamente tipada e, dessa forma, além de darmos um nome para a variável, temos também que informar qual o tipo de dado que será armazenado naquele endereço.

Esses tipos de dados são comuns a praticamente todas as linguagens de programação, mas podem haver pequenas variações nos seus tamanhos de uma para outra. Alguns tipos comuns são o "int" ou "Integer" para representar os números inteiros, "string" para representar cadeias de caracteres, "char" para representar um único caracter e "double" para representar números de ponto flutuante (decimais), apenas para citar os mais usuais.

variaveis tipos

A declaração na linguagem de programação Java, deve obedecer à convenção tipo nome-da-variável = valor;. No caso da figura acima, teríamos:

    String nome = "Asdrubal";
    String categoria = "iniciante";
    Integer idade = 32;
    Double saldo = 12.75;

Observe o ponto-e-vírgula encerrando as declarações e repare também que, para o tipo String, o valor correspondente deve estar delimitado por aspas, desnecessárias para tipos numéricos, tais como Integer e Double.

Regras de Nomenclatura

As regras para dar nome às variáveis na linguagem de programação Java são bem intuitivas:

  • Deve iniciar com uma letra, o sinal de "underscore" ( _ ) ou o sinal de cifrão ($), este último de uso restrito para casos especiais, como veremos adiante ao tratarmos das convenções de nomenclatura;

  • Sensibilidade à caixa das letras ("Case Sensitive"), ou seja, há diferenciação entre maiúsculas e minúsculas;

  • Não pode começar com um número;

  • Não são permitidos espaços em branco entre palavras. Para melhorar a legibilidade, as palavras devem ser separadas com o sinal de "underscore" ( _ ) ou, preferencialmente, usando a convenção "CamelCase".

  • Não podem ser usadas palavras reservadas para nome de variável.

A tabela a seguir elenca as 50 palavras-reservadas da linguagem Java:

java reserved words

A linguagem de programação Java foi desde o princípio responsável pela disseminação de boas práticas para a redação de código. São as chamadas convenções cuja observância, embora não seja compulsória, melhora muito a legibilidade do código e, por isso, aconselho enfaticamente sua adoção.

CamelCase

Assim, conforme a convenção, as variáveis devem ser nomeadas iniciando sempre com uma letra minúscula e, caso seja composta de mais de uma palavra, deve-se adotar a notação "camelCase", ou seja: primeira palavra começa com minúscula, segunda palavra com maiúscula, e assim por diante, tudo emendado, imitando as corcovas de um camelo — daí o nome.

Exemplos de nomes válidos: primeiroNome, numeroDoCpf, listaDeCompras, etc.


comments powered by Disqus