Java oferece oito tipos de dados pri­mi­ti­vos, além de muitos outros complexos. Estes de­ter­mi­nam quais valores podem ser ar­ma­ze­na­dos e exibidos dentro de uma variável. Certos tipos de dados são atri­buí­dos a todas as variáveis em Java.

Que tipos de dados existem em Java?

Em todas as lin­gua­gens de pro­gra­ma­ção, existem di­fe­ren­tes tipos de dados que contêm de­ter­mi­na­dos objetos e operações definidas. Embora sejam ge­ral­mente se­me­lhan­tes, às vezes existem grandes di­fe­ren­ças nas opções ofe­re­ci­das por uma linguagem. Se com­pa­rar­mos Python e Java, por exemplo, notaremos inúmeras di­fe­ren­ças além das se­me­lhan­ças, que pre­des­ti­nam cada linguagem a de­ter­mi­na­das tarefas. Java utiliza dois tipos di­fe­ren­tes de dados: pri­mi­ti­vos e complexos (também co­nhe­ci­dos como «tipos de re­fe­rên­cia»). Estes tipos de dados in­di­vi­du­ais de Java diferem em termos de tamanho e de­ter­mi­nam quais os valores que podem ser ar­ma­ze­na­dos numa variável.

Enquanto os tipos de dados pri­mi­ti­vos só podem armazenar valores simples, os tipos de re­fe­rên­cia são usados para criar es­tru­tu­ras mais complexas e organizar e manipular grandes quan­ti­da­des de dados. Se quiser aprender a programar, é im­por­tante não só conhecer os di­fe­ren­tes tipos de dados, mas também saber como usá-los. Por um lado, devemos conhecer a gama de funções e, por outro, o espaço de memória que cada tipo ocupa ou economiza.

Tipos de dados pri­mi­ti­vos em Java

Existem oito tipos di­fe­ren­tes de dados pri­mi­ti­vos em Java que contêm in­ter­va­los de valores definidos. Eles podem ser divididos em quatro ca­te­go­rias: tipo de dados lógicos, tipo de dados integrais, tipo de dados de vírgula flutuante e tipo de dados de ca­rac­te­res. Eles não têm ca­pa­ci­da­des especiais adi­ci­o­nais e também são co­nhe­ci­dos como tipos de dados ele­men­ta­res. Cada tipo de dados tem um número fixo de bits. A seguir, apre­sen­ta­mos com mais detalhes esses tipos de dados pri­mi­ti­vos:

  • boolean
  • byte
  • short
  • int ou inteiro
  • long
  • float
  • duplo
  • caractere

Booleano

O Java Boolean não é um tipo numérico. Em vez disso, oferece apenas dois valores possíveis: true e false. Portanto, pode ser usado para de­ter­mi­nar se uma condição se aplica (true) ou não (false). O seu valor padrão é false e pertence aos tipos de dados lógicos. Consiste em 1 bit e tem a seguinte sintaxe:

boolean booleanVar;
java

Byte

Byte é um tipo de dados integral e um valor de com­ple­mento a dois com um tamanho de 8 bits ou 1 byte. É usado prin­ci­pal­mente quando se deseja eco­no­mi­zar memória em matrizes maiores. O seu intervalo de valores vai de -128 a 127 e o seu valor padrão é 0. Esta é a sua sintaxe:

byte byteVar;
java

Calções

Short também é um dos tipos de dados integrais em Java e é usado prin­ci­pal­mente para eco­no­mi­zar memória em matrizes maiores. O valor em com­ple­mento a dois em si mesmo é de 16 bits ou 2 bytes de tamanho e seu intervalo de valores vai de -32768 a 32767, inclusive. Por padrão, seu valor é 0. Short é usado assim:

short shortVar
java

int ou integer

Int ou integer também é um valor em com­ple­mento a dois e um tipo de dado integral com um tamanho de 4 bytes ou 32 bits. O seu intervalo de valores abrange números inteiros entre -2147483648 e 2147483647, e o seu valor padrão é 0. A sua sintaxe é a seguinte:

int intVar
java

longo

O tipo de dado inteiro maior é o long. Isso aplica-se tanto ao seu intervalo de valores, que varia entre -9223372036854775808 e 9223372036854775807, quanto ao seu tamanho, que é de 8 bytes ou 64 bits. O valor em com­ple­mento a dois é utilizado quando os outros tipos de dados inteiros não são su­fi­ci­en­tes. No entanto, também requer a maior quan­ti­dade de memória. O seu valor padrão é 0. Esta é a sua sintaxe:

lomg longVar
java

float

Float é um tipo de dado de ponto flutuante utilizado para armazenar números reais. Tem um tamanho de 32 bits e segue a norma IEEE 754, que define a re­pre­sen­ta­ção padrão de números de ponto flutuante em sistemas in­for­má­ti­cos. O valor padrão do float é 0,0 e pode re­pre­sen­tar até sete dígitos decimais no seu intervalo de valores. No entanto, em com­pa­ra­ção com o double, o float não é tão preciso e não deve ser utilizado para valores em que a precisão é crucial. Se a precisão não for crítica, o float pode ajudar a eco­no­mi­zar espaço. A sintaxe cor­res­pon­dente é a seguinte:

float floatVar;
java

duplo

Double é apro­xi­ma­da­mente duas vezes mais preciso que float e cumpre uma fi­na­li­dade se­me­lhante. Tem um tamanho de 64 bits e pode re­pre­sen­tar até 16 dígitos decimais. Tal como float, o seu valor padrão é 0,0. Se precisar de valores mais precisos, é re­co­men­dá­vel optar por double, embora este tipo de dado também não possa ser com­ple­ta­mente exato em todos os casos. Se precisar de valores ab­so­lu­ta­mente precisos, deve con­si­de­rar o uso da classe Big­De­ci­mal. A sintaxe do double é a seguinte:

double doubleVar;
java

char

Char é um tipo de dado de ca­rac­te­res. Armazena ca­rac­te­res baseados no conjunto de ca­rac­te­res Unicode, o que permite a por­ta­bi­li­dade para várias pla­ta­for­mas di­fe­ren­tes. Cada caractere ocupa 2 bytes de espaço na memória. O seu intervalo de valores cor­res­ponde ao padrão ASCII (American Standard Code for In­for­ma­tion In­ter­change) e situa-se entre “\u0000” (equi­va­lente a 0) e “\uffff” (que é 65535). O valor padrão de char é “\u0000” e a sua sintaxe é a seguinte:

char charVar
java

Tipos de dados Java: exemplos de tipos de dados complexos

O segundo tipo de dados em Java são os chamados tipos de re­fe­rên­cia ou tipos de dados complexos. Eles têm esse nome porque remetem a objetos. Ao contrário dos tipos de dados pri­mi­ti­vos, nor­mal­mente não são pre­de­fi­ni­dos, mas sim de­ter­mi­na­dos pelo pro­gra­ma­dor (uma exceção é string). Podem utilizar métodos e também podem ter o valor 0 (no sentido de vazios). Enquanto os tipos de dados pri­mi­ti­vos começam com minúscula, os tipos de re­fe­rên­cia começam com maiúscula. Apre­sen­ta­mos os tipos de re­fe­rên­cia mais im­por­tan­tes.

Strings

String é uma classe que pode ser usada para re­pre­sen­tar uma sequência de ca­rac­te­res. Isso distingue esse tipo de dados complexo do primitivo char, entre outros. O string existe como um objeto da classe java.lang. Os di­fe­ren­tes métodos da classe string permitem examinar ca­rac­te­res in­di­vi­du­ais da cadeia, comparar cadeias entre si, procurar cadeias e copiá-las. O string é ca­rac­te­ri­zado por ter aspas na parte superior. A sintaxe deste tipo de re­fe­rên­cia é a seguinte:

<Tipo_String> <Variable_String> = "<SecuenciaString>";
java

As strings funcionam como neste fragmento de código, por exemplo:

// Crear un string sin un nuevo operador 
String a = "Este es tu nuevo string"; 
/ / Crear un string con un nuevo operador 
String a1 = nuevo string ("Este es tu nuevo string");
java

Matrizes

As matrizes são uti­li­za­das para armazenar vários valores dentro de uma variável, em vez de criar variáveis di­fe­ren­tes para cada valor in­di­vi­dual. São indicadas por meio de colchetes. Os valores ar­ma­ze­na­dos são colocados novamente entre chaves e separados por vírgulas. Esta é a sintaxe de uma matriz:

tipodedatos[] arrayName = {Valor1, Valor2, Valor3,…};
java

Se quiser criar uma matriz com strings, proceda como neste exemplo:

String[] colores = {"azul", "rojo", "amarillo", "lila"};
java

Se quiser criar uma matriz com números inteiros, pode proceder da seguinte forma:

int[] números = {5, 10, 15, 20};
java

Aulas

Em Java, as classes são tipos de dados que servem como modelo no qual os objetos são criados. Elas contêm vários com­po­nen­tes. Entre eles, o nome da classe, o seu mo­di­fi­ca­dor e um corpo, que é colocado entre chaves. Um exemplo seria o seguinte:

public class Main { 
int a = 10; 
}
java

In­ter­fa­ces

Em Java, uma interface é uma classe abstrata. Ela atua como uma interface através da qual uma classe pode aceder a várias funções. Para isso, no entanto, primeiro é ne­ces­sá­rio im­ple­mentá-las. As in­ter­fa­ces contêm apenas cons­tan­tes e métodos abstratos. Portanto, a sua sintaxe é a seguinte:

interface { 
Métodos abstractos
}
java

Para explicar como funcionam as in­ter­fa­ces, apre­sen­ta­mos um exemplo simples:

interface Pizza { 
public void listadeingredientes(); 
public void preparación(); 
} 
class Funghi implements Pizza { 
public void listadeingredientes() { 
System.out.println("Champiñones, salsa de tomate, orégano, queso"); 
} 
public void prepración() { 
System.out.println("La pizza estará lista después de hornearla un cuarto de hora"); 
} 
} 
class Main { 
public static void main(String[] args) { 
Funghi myFunghi = new Funghi(); 
myFunghi.listadeingredientes(); 
myFunghi.preparación(); 
} 
}
java

O resultado cor­res­pon­dente ao comando Java System.out.println terá a seguinte aparência:

Champiñones, salsa de tomate, orégano, queso 
La pizza estará lista después de hornearla un cuarto de hora
java

Objetos

Em Java, os objetos também pertencem aos tipos de dados mais complexos. Os objetos são ins­tân­cias de classes que podem interagir entre si por meio de métodos. No exemplo a seguir, criamos vários objetos dentro de uma classe Main:

public class Main { 
int a = 10; 
public static void main(String[] args) { 
Main myObj1 = new Main(); 
Main myObj2 = new Main(); 
System.out.println(myObj1.a); 
System.out.println(myObj2.a); 
} 
}
java

O resultado cor­res­pon­dente é o seguinte:

10 
10
java

Enums

As enums são uma classe especial que permite in­cor­po­rar cons­tan­tes imutáveis no seu código. A estas variáveis são atri­buí­dos valores fixos que não podem ser alterados pos­te­ri­or­mente. Este tipo de dados é par­ti­cu­lar­mente útil se precisar de variáveis que só devem ter alguns estados possíveis. A sintaxe de uma enum é a seguinte:

enum Nombre_de_la_clase { 
VALOR1, 
VALOR2, 
VALOR3 
}
java
Ir para o menu principal