Executando verificação de segurança...
2

O que eu aprendi sobre tipos primitivos!

O que eu aprendi sobre tipos primitivos!

Introdução

Esse post é oriundo de um documento contendo minhas anotações do que eu tenho visto e aprendido nesse curso. Achei que seria interessante compartilhar meus apredizados por aqui, sem contar que gostaria de receber recomendações de melhorias de estudo, então espero que isso ajude alguem de alguma forma.

Vamos lá!

Resumo: Os tipos primitivos são os dados mais "simples" presentes por toda computação.

Em java existem oito tipos primitivos que são divididos em numéricos: byte, short, int, long, float, double, e não numéricos: boolean e char. Os tipos primitivos são os tipos mais simplórios e básicos de dados que uma variável pode portar, além de serem a própria propriedade de um objeto o que será abordado melhor mais adiante.

Tipos primitivos numéricos

São números que variam em tamanho e ordem, sendo divididos em inteiros e racionais ou flutuantes.

Números inteiros

Estes números não possuem casas decimais, a única diferença entre eles é a capacidade de armazenamento que pode ser medida em bits ou bytes.

byte =>> Capacidade de 1 byte ou 8 bits
short =>> Capacidade de 2 bytes ou 16 bits
int =>> Capacidade de 4 bytes ou 32 bits
long =>> Capacidade de 8 bytes 64 bits

VALORES LITERAIS e TIPOS NUMÉRICOS PADRÕES

Os valores literais são todos os números que estão contidos diretamente num código, sem estar representados por uma variável ou constante. O uso de valor literal é a primeira coisa a ser feita quando se declara uma variável numérica que não representa necessariamente uma operação algébrica ou outra variável.

Os valores literais de números decimais serão, por padrão, do tipo double.
Já os valores literais de números inteiros serão, por padrão, do tipo int.

Assim, caso eu use float terei um valor em double. E caso eu use long, byte ou short terei um int como valor.

Números racionais ou flutuantes

Estes números possuem casas decimais, e em suas declarações os valores de constar separação por “.” (ponto final)

float =>> Capacidade de 4 bytes
double =>> Capacidade de 8 bytes

CONVERSÃO DE TIPOS

Naturalmente, valores menores cabem em espaços maiores e vice-versa. A conversão é possível quando essa relação é cumprida, não só na dimensão quantitativa quanto na dimensão qualitativa dos números: as “grandezas” as quais os numeros se dividem, ou melhor, os conjuntos numéricos!

Então, levando isso em conta, tem-se que:

Um double por ser “maior” consegue portar um int, mas contrário não se aplica já que o int é “pequeno” demais para conter o double.

Mais para frente a junção de CONVERSÃO DE TIPOS, VALORES LITERAIS e TIPOS NUMÉRICOS PADRÕES lançarão uma luz sobre o motivo de alguns números em long precisarem de um sufixo l ou L, além dos floats precisarem de f ou F para serem compilados.

tipos primitivos não numéricos

Esses tipos não se resumem a números e pode ser usados em operações lógicas:

boolean =>> verdadeiro ou falso, deve-se declarar com true ou false
char =>> um único caractere qualquer, deve-se declarar com aspas simples (‘’)

Conclusão

Então foi isso! Se essa experiência foi útil para você ou se você percebeu algum detalhe importante que não foi mencionado, sinta-se livre para dar dicas, compartilhar outros conteúdos, ou sugerir materiais de estudo!

Lembrando que a minha fonte, já listada no começo do documento, se trata desse curso aqui

Muito Obrigado, e Até Mais!

Carregando publicação patrocinada...
3

Os tipos primitivos são os dados mais "simples" presentes por toda computação.

Mais ou menos. Não existe uma definição única que é igual entre todas as linguagens, cada uma define isso de um jeito.

Em Java criou-se essa noção de que tipos primitivos são aqueles que não precisam de uma classe, e portanto não possuem métodos. Mas em outras linguagens pode ser diferente.

Por exemplo, em C# a lista de tipos primitivos é diferente, mas eles possuem métodos. Em JavaScript a lista também é diferente, incluindo até mesmo strings. Em Python não existe esta distinção, e por aí vai. Cada linguagem vai definir isso de um jeito diferente.

Vale lembrar que em Java o char também é um tipo numérico. Segundo a própria especificação da linguagem:

The numeric types are the integral types and the floating-point types.

The integral types are byte, short, int, and long, whose values are 8-bit, 16-bit, 32-bit and 64-bit signed two's-complement integers, respectively, and char, whose values are 16-bit unsigned integers representing UTF-16 code units (§3.1).

O fato de um char ser interpretado como um caractere é detalhe, pois no fundo o seu valor é guardado como um número. Inclusive, posso fazer coisas como:

char c = 97;
System.out.println(c); // "a"
c += 5;
System.out.println(c); // "f"

O que acontece é que este número é interpretado como o caractere Unicode correspondente, cujo codepoint é o valor numérico da variável.