Objetivos
        
    
    
    
        
Tipos de dados primitivos e outros
    
    
        
            
                A linguagem Java possui os tipos de dados primitivos, ou básicos, para armazenar números inteiros, 
                racionais, caracteres, cadeia de caracteres, vetores, matrizes, e constantes. 
            
            
                O uso desses tipos de dados em variáveis e constantes serão visto em 
                Java Básico: Variáves e Constantes.
            
            
                Os tipos de dados abaixo serão vistos de forma sucinta. Alguns possuem seções específicas em 
                que estudamos um pouco mais afundo e serão vistos ao longo de exemplos no tutorial.
            
            
                Além dos tipos primitivos, a biblioteca nativa da linguagem possui também uma vasta 
                lista de classes nativas que nos ajudam no desenvolvimento de programas. E serão vistos
                em futuras atualizações.
            
         
     
    
        Tipos numéricos primitivos
        
     
    
        
            
                Para manipular dados númericos, a linguagem Java fornece os tipos primitivos abaixo:
                
            
            
                
                    
                        | Tipo | 
                        Uso | 
                        Exemplo | 
                        Seção | 
                    
                
                
                    
                        | int | 
                        Númerico decimais(base 10) | 
                        10, -10 | 
                        - | 
                    
                    
                        | float | 
                        Numéros racionais | 
                        1.99, -1.99 | 
                        - | 
                    
                    
                        | double | 
                        Números racionais | 
                        1.99, -1.99 | 
                        - | 
                    
                    
                        | char | 
                        caracteres e inteiros | 
                        0,'A', -128, 255 | 
                        - | 
                    
                
            
            
                Os tipos de dados float e double, também são chamados de ponto-flutuante. A diferença 
                entre ambos está ligado a faixa de dados e precisão de casas decimais.
            
            
                Esse tipos de dados possuem suas classes Wrappers que nos fornecem métodos para manipulação 
                dos dados.
            
         
     
    
    
        
            
                Os tipos de dados derivados, são tipos de dados compostos em outros tipos de dados. A linguagem 
                Java fornece os seguintes tipos de dados:
            
            
                
                    
                        | Tipo | 
                        Uso | 
                        Exemplo | 
                        Seção | 
                    
                
                
                    
                        | Vetor(Array) | 
                        variáveis | 
                        1,2,3,... | 
                        Visitar | 
                    
                    
                        | Matriz(Array 2d) | 
                        matrizes | 
                        - | 
                        Visitar | 
                    
                    
                        | String | 
                        Textos | 
                        "um texto" | 
                        Visitar | 
                    
                    
                        | Enum | 
                        Constantes | 
                        0,1,2,3 | 
                        Visitar | 
                    
                
            
            
                Vetor/Matriz:
                Os tipos Vetor/Matriz são apelidos para variáveis armazenadas de forma justaposta. Os termos vetor e 
                matriz não são palavras reconhecidas pela linguagem Java sendo apelidos.
            
            
                String:
                O tipo String armazenam caracteres(char) de forma justaposta. 
            
            
                Enum:
                O tipo Enum é composto uma ou mais constantes com valores associados.
            
            
                A linguagem Java não possui suporte aos tipos de dados struct e union suportados 
                pelas linguagens C/C++ e Go.
            
         
     
    
        
Tipos Numéricos
    
    
        
            
                Os tipos de dados númericos em Java compreendem os tipos int, float e double. O primeiro armazena 
                números com base 10 e os dois últimos armazenam dados de ponto-flutante(casas decimais).
            
         
     
    
    
        
            
                O tipo int é utilizado para armazenar números inteiros positivos e negativos. Possuem um tamanho 
                de 4 bytes em memória e armazena dados no intervalo entre -2.147.483.648 e 2.147.483.647.
            
            Sintaxe
            int
            Exemplo 1
            0,1,10,-10
            
                O tipo int também aceita que um valor hexadecimal ou octal sejam atribuídos. 
                Utiliza-se 0x para indicar que um número é hexadecimal e "0" para indicar octal:
            
            Exemplo 2
            016, 0xff
         
     
    
    
        
            
                O tipo char é utilizado para armazenar caracteres e possuem um tamanho de 2 byte em memória. 
                Uma sequência de chars formam uma string.
            
            
                Quando um caracter imprimível é utilizado como valor de atribuição, o mesmo deve estar contido 
                entre ('). 
            
            Sintaxe
            char
            Exemplo 3
            'a','Z'
            
                O tipo char também aceita que um valor hexadecimal seja atribuído. Utiliza-se 
                0x para indicar que um número é hexadecimal:
            
            Exemplo 4
            017, 0xf0
         
     
    
    
        
            
                O tipo double é utilizado para armazenar números(Ponto flutuante) positivos e negativos de 
                com casas decimais.  Possuem um tamanho de 8 bytes em memória e armazena dados entre 
                1.7E-308 até 1.7E+308.
            
            Sintaxe
            double
            Exemplo 5
            12.123456
         
     
    
    
        
            
                O tipo float é semelhante ao double, armazena números positivos e negativos 
                de com casas decimais. Possuem um tamanho de 4 bytes em memória e armazenam dados 
                entre 1.175494e-38 e 3.402823e+38.
            
            Sintaxe
            float
            Exemplo 6
            2.500000
         
     
    
    
        
            
                Tanto o tipo float quanto o double são utilizados para armazenar números com 
                casas decimais. 
            
            
                A principal diferença é o tamanho em bytes desses dois tipos que proporcionam mais ou 
                menos precisão de seus valores de acordo com os tipos. Abaixo uma pequena tabela básica 
                comparativa.
            
            
                
                    
                        | float | 
                        double | 
                    
                
                
                    
                        | tamanho: 4 bytes | 
                        tamanho: 8 bytes | 
                    
                    
                        | 7 dígitos de precisão | 
                        15 dígitos de precisão | 
                    
                    
                        | Suporta 7 dígitos | 
                        Suporta 15 dígitos | 
                    
                
            
         
     
    
        
Tipo Boolean
    
    
        
            
                O tipo booleano trabalha com valores true e false. Esses podem ser utilizados 
                nas tomadas de decisão, por exemplo.
            
            Sintaxe: declaração
            
boolean
            Exemplo: conteúdo
            
true, false
         
     
    
    
        
            
                Para a linguagem Java, o tipo de dado String é uma cadeia de caracteres justapostos 
                como pode ser vista uma abstração abaixo. 
            
         
     
    
        
            
                
                    
                        | 0 | 
                        1 | 
                        2 | 
                        3 | 
                        4 | 
                        5 | 
                    
                
                
                    
                        | 's' | 
                        't' | 
                        'r' | 
                        'i' | 
                        'n' | 
                        'g' | 
                    
                
            
            Sintaxe: declaração
            String
            Exemplo: conteúdo
            "uma string em java"
            
                Em Java, uma string é mutável o que significa que podemos alterar seus caracteres após a atribuição.
                Mais informações sobre string pode ser visto em Strings.
            
         
     
    
    
        
            
                O tipo enum é utilizado para criar constantes em cada membro de sua composição possui um valor 
                inteiro associado a cada membro. 
            
            Exemplo
            
enum nome_enum
{
  nome_membro1, //0
  nome_membro2, //1
  nome_membroN; //2
}
            
            
                Para mais informações sobre o tipo de dado enum pode ser visto em sua seção 
                Java > Tipos Derivados: Enum.
            
         
     
    
    
        
            
                Vetor e matriz são tipos de dados derivados que armazenam dados de forma sequencial em memória. 
            
            
                Esses tipos de dados já foram visto em 
                Tutorial C: Vetor e Matriz
                sendo a leitura recomendada.
            
         
     
    
    
        
            
                Na linguagem Java, assim como em outras linguagens, podemos criar vetores a partir dos tipos de 
                dados estudados primitivos ou objetos. Podemos enxergar um vetor como um local para armazenar 
                várias variáveis de forma sequencial.
            
            
                Tab. 1: Vetor de int
                
                    
                        | 0 | 
                        1 | 
                        2 | 
                        3 | 
                        4 | 
                        5 | 
                        (...) | 
                    
                
                
                    
                        | 1 | 
                        10 | 
                        -100 | 
                        0 | 
                        2 | 
                        - | 
                        - | 
                    
                
            
            
                Vetor e Matriz não são palavras reconhecidas pela linguagem Java, sendo apenas apelidos para o 
                termo array e array 2d.
            
            
                Os comandos de repetição como for, while, do-while e foreach são 
                utilizados para percorrer o conteúdo de um vetor. Esses comandos podem ser vistos em 
                Java Básico: Comandos
            
            
                Mais informações sobre Vetor podem ser vistas em sua seção 
                Java > Tipos Derivados: Vetor.
            
         
     
    
    
        
            
                Uma matriz é um vetor de duas dimensões. Sendo assim, seus elementos são armazenados de 
                forma sequencia, porém o acesso a esses elementos é feito utilizando suas linhas e colunas. 
                Uma matriz com as dimensões 3x3 pode ser  representada na forma abaixo:
            
            
                Tab. 2: Matriz de int
                
                    
                        | L/C | 
                        0 | 
                        1 | 
                        2 | 
                    
                
                
                    
                        | 0 | 
                        10 | 
                        20 | 
                        30 | 
                    
                    
                        | 1 | 
                        40 | 
                        50 | 
                        60 | 
                    
                    
                        | 2 | 
                        70 | 
                        80 | 
                        90 | 
                    
                
            
            
                Os comando de repetição como for, while e do-while são utilizados para percorrer o 
                conteúdo de uma matriz. O tipo de dado Ponteiro pode ser utilizado para auxiliar na iteração 
                desse tipo de dado. Esses comandos podem ser vistos em Java:Comandos
            
            
                Mais informações sobre Matriz pode ser vista em sua seção Matriz.
            
         
     
    
    
        
            
                Por ser linguagem orientada a objeto, Java fornece vários pacotes(packages) que contém 
                classes com funcionalidades prontas.  Essas classes, quando instancidas, temos os objetos 
                que são tipos de dados mais complexos quem contem atributos e métodos.
            
            
                Abaixo, uma pequena lista das classes nativas disponíveis na linguagem Java:
            
            
                - java.lang.Boolean
 
                - java.lang.Float
 
                - java.lang.Interger
 
                - java.lang.String
 
                - java.lang.Byte
 
                - java.lang.Math
 
                - java.lang.Exception
 
                - java.lang.StringBuilder
 
                - java.lang.Process
 
                - java.lang.Thread
 
                - java.util.Arrays
 
                - java.util.Currency
 
                - java.util.Locale
 
            
            
                Em Java Básico: Conversão pode ser visto o uso 
                de algumas das classes acima para a conversão de dados.
            
         
     
    
    
        
            
                Nesta parte serão vistos os tipos de dados ponteiro e reference além das palavras reservadas null, 
                void e outros. Mais tipos serão adicionados em futuras atualizações.
            
         
     
    
    
        
            
                A linguagem Java possui um a palavra reservada null para representar o tipo de dado nulo. 
                Utilizado nos tipos de dados referênciados, como objetos, para informar que o recurso não é mais 
                utilizado, ou não iniciado, tendo seus recurso de memória liberados. 
            
            Sintaxe
            nome_variavel = null;
            Exemplo 9
            
instancia_objeto = null; 
         
     
    
    
        
            
                O tipo void, em parte, é um tipo de dado e em outra parte não. Podemos utilizar void para 
                informar que métodos não possuem retorno. O void não pode ser utilizado para declarar 
                variáveis e constantes.
            
            Sintaxe
            public void nome_metodo(lista_parametros)
{
  /*corpo omitido*/
} 
            O assunto método pode ser conferido 
                em Java > POO: Métodos.
         
     
    
        
Histórico de atualizações
    
    
        
            
                - 22/07/2025 - revisão 4 - Correçao em links 'Objetivos'; Remoçao de exemplos Matriz/Vetor; Ajustes pontuais
 
                - 23/09/2024 - revisão 3 - Remoção de info. octal para 'char', trecho errado sobre 'boolean'; ajustes gramaticais e outros
 
                - 02/09/2024 - revisão 2 - Correção em link de objeto: tipo enum,bool
 
                - 06/02/2024 - revisão 1 - correção em navegação, tipo char e erros gramaticais
 
                - 04/09/2023 - versão inicial
 
            
         
     
    
            
            
                
                    
                    Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
                em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.