Tipos Primitivos de Dados Em Java

4
Tipos primitivos de dados *Tradução de: (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html) A linguagem de programação Java é estaticamente tipada, o que significa que todas as variáveis devem ser declaradas antes de poderem ser utilizadas. Trata-se de declarar o tipo da variável e o nome, como você pode ver: int engrenagem = 1; Desta maneira, você está dizendo que seu programa possui uma variável chamada "engrenagem", contendo dados numéricos, sendo seu valor inicial "1". Os tipos de dados determinam os valores que uma variável possa conter, além das operações que podem ser executadas nela. Além de int, a linguagem de programação Java suporta sete outros tipos primitivos de dados. Um tipo primitivo é pré- definido pela linguagem e é identificado por uma palavra reservada. Os valores primitivos não compartilham estado com outros valores primitivos. Os oito tipos primitivos de dados suportados pela linguagem de programação Java são: byte: O tipo de dados byte possui 8-bits. Tem um valor mínimo de -128 e um valor máximo de 127 (inclusive). O tipo de dados byte pode ser útil para otimizar a utilização de memória em matrizes de grandes dimensões, em que a poupança de memória realmente importa. short: O tipo de dados short é um número inteiro de 16-bits. Tem um valor mínimo de -32.768 e um valor máximo de 32.767 (inclusive). Tal como acontece com byte, as mesmas diretrizes se aplicam: você pode usar um short para economizar memória em grandes conjuntos, em situações em que as economias de memória realmente importam. int: O tipo de dados int é um inteiro de 32 bits. Tem um valor mínimo de -2.147.483.648 e um valor máximo de 2.147.483.647 (inclusive). Para valores inteiros, este tipo de dados é geralmente a opção padrão, a menos que haja uma razão (como citado anteriormente) para escolher outro tipo. Este tipo de dados provavelmente será grande o suficiente para os números que seu programa irá usar, mas se você precisar de uma ampla gama de valores, use long. long: O tipo de dados long possui 64 bits. Tem um valor mínimo de -9.223.372.036.854.775.808 e um valor máximo de 9.223.372.036.854.775.807 (inclusive). Utilize este tipo de dados quando você precisa de um intervalo de valores mais amplos do que aqueles fornecidos pelo int. float: O tipo de dados float representa valores numéricos com ponto flutuante, com precisão de 32 bits. Este tipo segue a IEEE 754. Sua gama de valores está além do escopo desta discussão, mas é especificado na linguagem Java. Tal como acontece com as recomendações para byte e short, utilize um float (em vez de double) quando você necessitar economizar memória. Este tipo de dados nunca deve ser usado para valores precisos, como moeda. double: O tipo de dados double possui precisão de 64 bits, seguindo a IEEE 754. Para valores decimais, este tipo de dados é geralmente a opção padrão. Como mencionado acima, este tipo de dados nunca deve ser usado para valores precisos, tais como moeda.

description

Resumo

Transcript of Tipos Primitivos de Dados Em Java

Page 1: Tipos Primitivos de Dados Em Java

Tipos primitivos de dados *Tradução de:

(http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html)

A linguagem de programação Java é estaticamente tipada, o que significa que todas as variáveis devem

ser declaradas antes de poderem ser utilizadas. Trata-se de declarar o tipo da variável e o nome, como

você pode ver:

int engrenagem = 1;

Desta maneira, você está dizendo que seu programa possui uma variável chamada "engrenagem",

contendo dados numéricos, sendo seu valor inicial "1". Os tipos de dados determinam os valores que

uma variável possa conter, além das operações que podem ser executadas nela. Além de int, a

linguagem de programação Java suporta sete outros tipos primitivos de dados. Um tipo primitivo é pré-

definido pela linguagem e é identificado por uma palavra reservada. Os valores primitivos não

compartilham estado com outros valores primitivos. Os oito tipos primitivos de dados suportados pela

linguagem de programação Java são:

• byte: O tipo de dados byte possui 8-bits. Tem um valor mínimo de -128 e um valor máximo de

127 (inclusive). O tipo de dados byte pode ser útil para otimizar a utilização de memória em

matrizes de grandes dimensões, em que a poupança de memória realmente importa.

• short: O tipo de dados short é um número inteiro de 16-bits. Tem um valor mínimo de -32.768 e

um valor máximo de 32.767 (inclusive). Tal como acontece com byte, as mesmas diretrizes se

aplicam: você pode usar um short para economizar memória em grandes conjuntos, em

situações em que as economias de memória realmente importam.

• int: O tipo de dados int é um inteiro de 32 bits. Tem um valor mínimo de -2.147.483.648 e um

valor máximo de 2.147.483.647 (inclusive). Para valores inteiros, este tipo de dados é

geralmente a opção padrão, a menos que haja uma razão (como citado anteriormente) para

escolher outro tipo. Este tipo de dados provavelmente será grande o suficiente para os números

que seu programa irá usar, mas se você precisar de uma ampla gama de valores, use long.

• long: O tipo de dados long possui 64 bits. Tem um valor mínimo de -9.223.372.036.854.775.808

e um valor máximo de 9.223.372.036.854.775.807 (inclusive). Utilize este tipo de dados quando

você precisa de um intervalo de valores mais amplos do que aqueles fornecidos pelo int.

• float: O tipo de dados float representa valores numéricos com ponto flutuante, com precisão de

32 bits. Este tipo segue a IEEE 754. Sua gama de valores está além do escopo desta discussão,

mas é especificado na linguagem Java. Tal como acontece com as recomendações para byte e

short, utilize um float (em vez de double) quando você necessitar economizar memória. Este

tipo de dados nunca deve ser usado para valores precisos, como moeda.

• double: O tipo de dados double possui precisão de 64 bits, seguindo a IEEE 754. Para valores

decimais, este tipo de dados é geralmente a opção padrão. Como mencionado acima, este tipo

de dados nunca deve ser usado para valores precisos, tais como moeda.

Page 2: Tipos Primitivos de Dados Em Java

• boolean: O tipo de dados boolean possui apenas dois valores possíveis: verdadeiro e falso.

Utilize este tipo de dados para flags simples que verificam as condições verdadeiro / falso. Este

tipo de dados representa um bit de informação, mas o seu "tamanho" não é algo que está

definido com precisão.

• char: O tipo de dados char é um caracter único, com tamanho de 16-bit, permitindo Unicode.

Tem um valor mínimo de '\ u0000' (ou 0) e um valor máximo de '\ uFFFF' (ou 65.535 inclusive).

Além dos oito tipos primitivos de dados listados acima, a linguagem de programação Java também

fornece suporte especial para cadeias de caracteres através do tipo String. Uma sequência de caracteres

entre aspas duplas irá criar automaticamente um novo objeto String, por exemplo:

String s = "isto é uma string";

Objetos do tipo String são imutáveis, o que significa que uma vez criados, seus valores não podem ser

alterados. O tipo String não é tecnicamente um tipo de dados primitivo, mas considerando o apoio

especial que lhe é dado pela linguagem, você provavelmente tenderá a pensar nele como tal.

Valores Padrão

Nem sempre é necessário atribuir um valor quando uma variável é declarada. Variáveis que são

declaradas, mas não inicializadas, são definidas pelo compilador normalmente com 0 ou com nulo (null),

dependendo do tipo em questão. Por outro lado, este estilo de programação normalmente é

considerado ruim.

A tabela a seguir resume os valores padrão para os tipos de dados acima.

Tipo de Dado Valor Padrão byte 0

short 0

int 0

long 0L

float 0.0f

Double 0.0d

String null

Boolean false

char ‘\u0000’

As variáveis locais são um pouco diferentes, o compilador nunca atribui um valor padrão para uma

variável local não inicializada. Se você não puder inicializar a variável local onde ela é declarada,

certifique-se de atribuir um valor antes de tentar usá-lo. Acessar uma variável local não inicializada irá

resultar em um erro de tempo de compilação.

Page 3: Tipos Primitivos de Dados Em Java

Literais

Tipos primitivos são tipos especiais de dados. Um literal é a representação no código fonte de um valor

fixo (estático). Literais são representados diretamente em seu código, sem a necessidade de

computação. Como mostrado abaixo, é possível atribuir um literal para uma variável de um tipo

primitivo:

boolean result = true;

char capitalC = 'C';

byte b = 100;

short s = 10000;

int i = 100000;

Literais Inteiros

Um literal inteiro é do tipo long, se ele termina com a letra L ou l, caso contrário ele é do tipo int. É

recomendado que você use a letra L maiúscula, porque o l letra minúscula é difícil de distinguir quando

comparada com o dígito 1.

Valores dos tipos inteiros byte, short, int, e long podem ser criados a partir de literais inteiros. Valores

do tipo long, que ultrapassam a faixa de int, podem ser criados a partir de literais longos. Literais inteiros

podem ser expressos por estes sistemas numéricos:

• Decimal: Base 10, cujos dígitos são composto pelos números 0 a 9. Este é o sistema numérico

que você usa todos os dias;

• Hexadecimal: Base 16, cujos dígitos são composto pelos números de 0 a 9 e as letras A até F;

• Binário: Base 2, cujos dígitos são composto dos números 0 e 1 (você pode criar literais binários

em Java SE 7 e posteriores)

Para programação de propósito geral, o sistema decimal provavelmente seja o que você mais irá utilizar.

No entanto, se você precisa usar outro sistema numérico, o exemplo a seguir mostra a sintaxe correta. O

prefixo 0x indica hexadecimal e 0b indica binário:

/ / O número 26, em decimal

int decVal = 26;

/ / O número 26, em hexadecimal

int hexVal = 0x1A;

/ / O número 26, em binário

int binVal = 0b11010;

Page 4: Tipos Primitivos de Dados Em Java

Literais com ponto flutuante

Um literal de ponto flutuante é do tipo float se termina com a letra F ou f, caso contrário, seu tipo é

double que, opcionalmente, pode ser terminado com a letra D ou d.

Os tipos de ponto flutuante (float e double) também podem ser expressados usando E ou e (para a

notação científica), F ou f (32-bit flutuante literal) e D ou d (64-bit dupla literal, este é o padrão e, por

convenção, é omitido).

double d1 = 123.4;

//Mesmo valor que d1, mas em notação científica

double d2 = 1.234e2;

float f1 = 123.4f;

Literais de caracteres e String

Literais dos tipos char e String podem conter qualquer caractere Unicode (UTF-16). Se o seu editor e

sistema de arquivos permitirem, você pode usar esses caracteres diretamente em seu código. Se não,

você pode usar um "escape Unicode", tais como '\u0108' (capital C com circunflexo) ou "S\u00ED Se\

u00F1or" (Sí Señor em espanhol). Sempre use 'aspas simples' para literais char e "aspas duplas" para

literais String.

A linguagem de programação Java também suporta algumas sequências de escape especiais para literais

char e String:

• \ b (backspace);

• \ t (tab);

• \ n (nova linha);

• \ f (form feed),

• \ r (retorno de carro);

• \ "(aspas duplas);

• \ '(aspas simples);

• \ \ (barra invertida).