CodeGym /Cursos /Sintaxe do Java /Tipos de dados primitivos

Tipos de dados primitivos

Sintaxe do Java
Nível 2 , Lição 2
Disponível

Olá, Amigo! Eu gostaria de falar sobre a estrutura interna das variáveis. Como você já sabe, cada variável está associada a uma área da memória onde seu valor é armazenado. "

"Sim. Você me contou sobre isso da última vez."

"Ótimo. É bom que você se lembre. Vou continuar, então."

"Todos os tipos compostos consistem em outros mais simples. E eles, por sua vez, consistem em outros ainda mais simples. Até que, finalmente, acabamos com tipos primitivos , que não podem ser mais simplificados. É assim que eles são chamados - tipos primitivos . Pois Por exemplo, int é um tipo primitivo, mas String é um tipo composto que armazena seus dados como uma tabela de caracteres (onde cada caractere é um tipo primitivo char )."

"Muito interessante. Continue."

"Tipos compostos são formados pelo agrupamento de tipos simples. Chamamos esses tipos de classes . Quando definimos uma nova classe em um programa, declaramos um novo tipo de dados compostos . Seus dados serão outros tipos compostos ou tipos primitivos."

código Java Descrição
public class Person
{
   String name;
   int age;
}
Um novo tipo composto é declarado – Person.
Seus dados são armazenados na Stringvariável (tipo composto) namee intvariável (tipo primitivo)age
public class Rectangle
{
   int x, y, width, height;
}
Um novo tipo composto é declarado – Rectangle.
Consiste em quatro intvariáveis ​​(tipo primitivo).
public class Cat
{
   Person owner;
   Rectangle territory;
   int age;
   String name;
}
Um novo tipo composto é declarado – Cat. Possui as seguintes variáveis:
owner, tipo composto Person
territory, tipo composto Rectangle
age, tipo primitivo int
name, tipo compostoString

"Por enquanto, tudo está claro, por mais estranho que pareça."

"Grandes tipos (compostos) contêm muitos tipos pequenos (primitivos). É por isso que os objetos desses tipos ocupam muita memória - mais do que as variáveis ​​dos tipos primitivos. Às vezes, muito mais. Executar operações de atribuição com essas variáveis ​​costumava levar muito tempo tempo e exigia a cópia de grandes seções de memória. É por isso que variáveis ​​de tipos compostos não armazenam o objeto em si, mas apenas uma referência a ele, ou seja, seu endereço de quatro bytes. Isso é suficiente para endereçar os dados em tais objetos. A máquina Java lida com todas as complexidades associadas."

"Eu não entendi nada disso."

"Dissemos anteriormente que uma variável é como uma caixa. Se você deseja armazenar o número 13 nela, pode escrever 13 em um pedaço de papel e colocá-lo na caixa."

“Mas imagine que você precise guardar algo maior na caixa (variável). do cachorro em vez do cachorro real, uma placa de carro em vez de um carro de verdade ou o número de telefone do seu vizinho em vez do seu vizinho."

“Pegamos um pedaço de papel e anotamos o telefone do vizinho. para o seu vizinho. Mas, como antes, você ainda tem apenas um vizinho. Isso faz sentido, não é?"

"Uma característica importante de armazenar dados dessa maneira é que você pode ter muitas referências a um único objeto "

"Que interessante! Quase consegui. Diga-me mais uma vez, por favor – o que aconteceria se eu atribuir uma variável de um tipo composto a outra variável do mesmo tipo composto?"

"Assim, as duas variáveis ​​armazenariam o mesmo endereço. Isso significa que, se você alterar os dados do objeto referenciado por uma variável, alterará os dados referenciados pela outra . Ambas as variáveis ​​referenciam o mesmo objeto . Claro, pode haver muitos outras variáveis ​​que também armazenam referências a ela."

"O que as variáveis ​​de tipos compostos (referência/classe) fazem se não estão mantendo uma referência a um objeto? Isso é possível?"

"Sim, amigo. Você está me adiantando com sua pergunta. Isso é possível. Se uma variável do tipo referência (composta) não está armazenando uma referência a um objeto, então ela armazena o que é conhecido como 'nulo referência'. Basicamente, isso significa que ele faz referência a um objeto cujo endereço é 0. No entanto, a máquina Java nunca cria objetos com esse endereço, então ela sempre sabe que se uma variável de referência contém 0, então ela não está apontando para nenhum objeto ."

código Java Descrição
String s;
String s = null;
Declarações equivalentes.
Person person;
person = new Person();
person = null;
Criamos uma variável de pessoa cujo valor é nulo.
Atribuímos a ele o endereço de um objeto Person recém-criado.
Atribuímos null à variável.
Cat cat = new Cat();
cat.owner = new Person();
cat.owner.name = "God";
Criamos um objeto Cat e armazenamos seu endereço na variável cat; cat.owner é igual a nulo.
Definimos cat.owner igual ao endereço de um objeto Person recém-criado.
cat.owner.name ainda é igual a nulo.
Definimos cat.owner.name igual a "Deus"

"Eu entendi corretamente? Variáveis ​​são divididas em dois tipos: tipos primitivos e tipos de referência. Tipos primitivos armazenam valores diretamente, enquanto tipos de referência armazenam uma referência a um objeto. Tipos primitivos incluem int, char, boolean e muitos outros. Referência os tipos incluem todo o resto. Usamos classes para criá-los."

"Você está absolutamente certo, meu garoto."

"Então, você diz que entendeu tudo. Aqui estão algumas tarefas para ajudá-lo a reforçar seu conhecimento."

Comentários (16)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Jonathan Macedo Nível 2, Praia Grande, São Paulo, Brasil, Brazil
5 setembro 2024
Quem está com dificuldade nos exercícios em Inglês, é só copiar o texto e pedir pro Bard IA ou Chat GPT traduzir =)
1 agosto 2024
O site tem previsão de conseguir traduzir todos os exercícios? Bem complicado entender em ingles,
Yagami Nível 2, São Paulo, Brazil
2 agosto 2024
aparentemente não tem previsão, mas não desista por conta disso, veja pelo lado bom: você está praticando seu inglês, algo muito requisitado nessa área.
John Squirrels Nível 41, San Francisco, Poland
6 agosto 2024
Olá. Estamos a trabalhar na tradução adicional das nossas tarefas.
Isaque Abednego Nível 2, Brazil
6 janeiro 2025
Agradeço!
Gabrielly Nível 3, Brazil
9 julho 2024
Tudo em inglês é complicado, mas vamos la
Yagami Nível 2, São Paulo, Brazil
23 maio 2024
um pouco complicado de compreender os exercícios, mas não ao ponto de me fazer desistir!
Arthur Assunção Nível 2, Natal, Brazil
3 maio 2024
Estou tendo dificuldade, pois os exercicios estão em ingles, torna um pouco mais complexo.
costa Nível 2, Brazil
11 maio 2024
to na mesma brother
Gisele Nível 4, Brazil
12 novembro 2023
Tive dificuldade nos exercícios envolvendo objetos
Pedro Dev Nível 8, BELO HORIZONTE, Brasil
22 novembro 2023
Oi Gisele, qual foi sua dificuldade?
fitlcarvalho Nível 3, Cuiabá, Brazil
13 dezembro 2023
Eu também estou com dificuldades, nesse quesito de criar e adicionar dados ao objeto.
Paulo Rabelo Nível 2, São Paulo, Brazil
7 março 2024
Objetos venho apanhando a muito, mas com esses exercícios, tenho a impressão (Assim como o Amigo..rsrsrs) de que estou começando a entender.
Elian Nível 2, recife, Brazil
3 novembro 2023
Eu não consegui entender muito bem, e os exercicios me parecem muito confusos, acho que precisava de mais aulas para conseguir resolver essas questões
Thiago Egidio Nível 4, Darlington , United Kingdom
8 agosto 2023
In this Task many lessons were confuse, they didnt explain context, for new students doesnt make sense.
Alexandre Chaves Nível 3, Brazil
19 junho 2023
Muito bom.