Aprendendo Java Para Certificação #7

Tempo de leitura: 5 min

Escrito por blackzig
em 15/10/2019

Tipos Primitivo

Java possui oito tipos de dados, referenciados como tipos primitivos. Estes oito tipos representa a base para os objetos Java, porque todos os objetos são apenas coleções complexas para os tipos primitivos.

Na Table 1.1 mostrar os tipos primitivos do java com seus tamanhos em bytes e a faixa de valores que eles suportam.

Vamos ver algumas informações da tabela.

float e double são utilizados para valores que não são inteiros.

um float precisa da letra f no fim do valor para o Java saber que é um float.

byte, short, int e long são utilizados para números inteiros.

Cada tipo tem o dobro do tamanho do seu antecessor na tabela. Por exemplo, short é duas vezes maior que o byte.

No exame não será perguntado sobre os tamanhos dos tipos. Mas você deve saber que um byte pode guardar um valor entre -128 a 127. É bom saber o valor que cada tipo precisa de memória do seu computador. Por exemplo, o Java reserva 32 bits na memória quando você digita:  int num;

O maior valor que o tipo int consegue guardar é 2.147.483.647. Para saber isto por meio de código basta digitar System.out.println(Integer.MAX_VALUE);

Mais algumas coisas que precisamos saber sobre os primitivos numéricos. Quando um número está presente em um código, ele é chamado de literal. Por padrão, o Java define o valor int como um literal. Isto significa que o Java espera que você saiba o valor máximo que o tipo int suporta e todo número que estiver no código será considerado do tipo int.

long max = 3123456789; //não compila

O código não compila porque a variável max recebeu um valor acima do que o tipo int suporta. Se quiser guardar este valor o correto é:

long max = 3123456789L; //agora sim o Java sabe que isto é um long.

Se você adicionar a letra L na forma minúscula também funciona, porém não é recomendado, já que a letra L (l) pode ser confundido com o número 1.

Outra maneira de programar com número é mudando a sua base decimal para outras. Os prefixos utilizados são para o Java reconhecer a base utilizada.

Octal (dígitos de 0 a 7), utiliza o número zero como prefixo. Exemplo, 017 é igual ao valor 15 decimal.

Hexadecimal (dígitos de 0 a 9 e letras de A a F), utiliza o número zero seguindo da letra x maiúscula ou minúscula como prefixo. Exemplo, 0xFF é igual ao valor 255 decimal.

binário (dígitos de 0 a 1), utiliza o número zero seguido da letra b maiúscula ou minúscula como prefixo. Exemplo, 0b10 é igual ao valor 2 decimal.

No exame não cairá conversões de números, mas você deve saber que valores literais podem ser modificados.

Mais um recurso que o valor numérico possui a partir do Java 7 é poder adicionar underscore entre números para ficar mais fácil de ler.

int milhao = 1000000;

int milhao = 1_000_000;

Não pode colocar underscore no início ou no fim dos números. Não pode colocar underscore seguido de ponto. Vamos ver exemplos.

double noInicio = _1000.00; //não compila

 double noFim = 1000.00_; //não compila

double comPonto = 1000_.00; //não compila

double estranhoMaisFunciona = 1_00_0.0_0; //compila

Tipos de Referência

Um tipo de referência para um objeto (é uma instância de uma classe). Diferente dos tipos primitivos que guarda o valor na memória, a referência guarda o valor do objeto. Diferente de outras linguagens, o Java não permite você manipular o endereço de memória física. Só é permitido referenciar um objeto.

Vamos ver um exemplo. Suponhamos que queremos declarar uma referência para o tipo java.util.Date e uma referência para o tipo String.

java.util.Date hoje;

String greeting;

A variável hoje é referência do tipo Date e só pode ser utilizado por um objeto Date. A variável greeting é referência do tipo String e só pode ser utilizado por um objeto String. Um valor pode ser atribuído a uma referência de duas formas:

Uma referência pode ser atribuída a outro objeto de mesmo tipo.

Uma referência pode ser atribuída para um novo objeto utilizando a palavra new.

hoje = new java.util.Date();

greeting = “How are you?”;

 Agora a variável hoje aponta para um novo objeto Date na memória e pode utilizar vários campos e métodos do objeto Date. Isto acontece também com a variável greeting quando assume o valor “How are you?”. Os objetos String e Date não tem nomes e só podem ser acessados via referência. A figura 1.1 mostra como os tipos de referência aparece na memória.

As Diferenças

Há algumas diferenças que você deve saber entre primitivos e tipos de referência. Primeiro, tipos de referência pode ter o valor null, isto significa que não está referenciando nenhum objeto. Um tipo primitivo se for relacionado ao um valor null, haverá um erro de compilação. Exemplo.

int valor = null; //não compila

String s = null; //tudo certo

Tipos de referência podem utilizar métodos quando não estão nulos. Primitivos não possuem métodos.

String referencia = “hello”;

int ok = referencia.length();

int errado = len.length(); //não compila

Uma outra diferença é que o tipo primitivo começa com a letra minúscula e as classes com a letra maiúscula.

Declarando Múltiplas Variáveis

Você pode declarar e inicializar múltiplas variáveis de uma vez. Quantas variáveis você acha que estão declaradas e inicializadas nas duas linhas seguintes?

String s1, s2;

String s3 = “sim”, s4 = “não”;

Quatro String foram declaradas: s1, s2, s3 e s4. Duas variáveis foram inicializadas: s3 e s4. Você pode declarar muitas variáveis na mesma declaração. Você também pode inicializar muitas ou todas as variáveis que estão na mesma declaração.

Preste atenção nas pegadinhas na prova. Quantas variáveis você acha que estão declaradas e inicializadas neste código?

int i1, i2, i3 = 0;

São três variáveis declaradas: i1, i2 e i3. Contudo, somente a i3 foi inicializada. Outra pegadinha.

int num, String value; //não compila;

Este código não compila porque há múltipla variáveis de tipos diferentes na mesma declaração. Só pode declarar múltipla variáveis se for do mesmo tipo.

boolean b1, b2;

String s1 = “1”, s2;

double d1, double d2;

int i1; int i2;

int i3; i4;

O primeiro exemplo compila, é válido declarar duas variáveis sem inicializá-las.

O segundo exemplo compila, são declaradas duas variáveis e inicializada apenas uma.

O terceiro exemplo não compila, o Java não permite declarar mais de um tipo na mesma declaração, mesmo que os tipos sejam iguais.

O quarto exemplo compila, apesar de estarem na mesma linha o Java entende como outra linha por causa do ponto e vírgula.

O quinto exemplo não compila, porque o i4 está sem declaração de tipo.

❤️ Curso Java Para Iniciantes

http://bit.ly/java-swing

👍 Curso de Desenvolvimento Web Completo

http://bit.ly/2FnB5Sp

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro