# Java/Tipos de dados primários
## Tipos de dados primários

    Toda variável deve ter um tipo de dado, pois, o tipo determina que valores a variável poderá conter e que operações poderão ser realizadas com ela.
    Os tipos primários ou primitivos são os tipos de informações mais usuais e básicas. As variáveis deste tipo contêm valores simples, apropriados ao tipo da variável, e seus dados podem ser classificados basicamente em três categorias: lógicos, numéricos (inteiros e reais) e de caracteres.

### Tipos de dados lógicos
#### boolean

    É o tipo de dado que contém literal lógico. Serve para armazenar um único bit de informação. Este bit pode ser representado pelas palavras false (falso) ou true (verdadeiro). Representa estados binários, tais como: verdadeiro/falso, certo/errado, ligado/desligado, aberto/fechado, sim/não etc.
    Exemplos de declarações:
Observação: um erro muito comum para quem programa em C/C++ é fazer testes lógicos usando variáveis inteiras ou reais. Em Java, a instrução if só deve receber argumentos lógicos.

### Tipos de dados numéricos
#### Tipos de dados numéricos inteiros
##### byte

    É o tipo de dado capaz de armazenar 8 bits de informação, ou seja, um número inteiro entre -128 e 127. Sua utilização é recomendada em caso de economia de memória, já que alguns tipos de dados maiores possuem processamento mais rápido.
    Exemplos de declarações:

##### short

    É o tipo de dado que é capaz de armazenar números inteiros de 16 bits, ou seja, um número inteiro entre -32.768 e 32.767.
    Exemplos de declarações:

##### int

    É o tipo de dado capaz de armazenar 32 bits, ou seja, de representar um número inteiro qualquer entre -2.147.483.648 e 2.147.483.647. É o tipo mais indicado na maioria dos casos por possuir uma grande faixa de valores. Variáveis deste tipo também costumam ser manipuladas mais rapidamente já que correspondem à largura de dados (de palavra) mais usual na maioria dos processadores atuais.
    Exemplos de declarações:

##### long

    É o tipo de dado capaz de armazenar 64 bits de informação, ou seja, que pode representar um número inteiro qualquer entre -9.223.372.036.854.775.808L e 9.223.372.036.854.775.807L. Recomenda-se seu uso apenas quando for preciso assumir valores maiores ou menores do que aqueles possíveis de serem assumidos pelo int.
    Exemplos de declarações:

#### Tipos de dados numéricos reais
##### float

    É o tipo de dado capaz de armazenar números reais de precisão simples, ou seja, 32 bits de informação representando um número real.
    Exemplos de declarações:

##### double

    É o tipo de dado capaz de armazenar números reais de precisão dupla, ou seja, 64 bits de informação em forma de número real. É usado para representar valores nos quais é preciso uma precisão maior que a de float.
    Exemplos de declarações:

### Tipos de dados de caracteres
#### char

    É o tipo de dado capaz de armazenar 16 bits representando caracteres no formato UTF-16 (formato UTF composto de dois caracteres de 8 bits). Representado numericamente, o tipo char pode ter valores de 0 a 65535 (inclusive) - de '\u0000' a '\uffff'. Nas versões mais recentes da linguagem Java, propõe-se substituir o tipo char pelo tipo byte.
    Exemplos de declarações: