CodeGym /Kursus /Sintaks Java /Tipe data primitif

Tipe data primitif

Sintaks Java
Level 2 , Pelajaran 2
Tersedia

Halo, Amigo! Saya ingin memberi tahu Anda tentang struktur internal variabel. Seperti yang sudah Anda ketahui, setiap variabel dikaitkan dengan area memori tempat nilainya disimpan. "

"Ya. Kamu memberitahuku tentang itu terakhir kali."

"Bagus. Bagus kalau kamu ingat. Kalau begitu aku akan melanjutkan."

"Semua tipe komposit terdiri dari yang lebih sederhana. Dan mereka, pada gilirannya, terdiri dari yang lebih sederhana. Sampai, akhirnya, kita berakhir dengan tipe primitif , yang tidak dapat disederhanakan lebih lanjut. Itulah yang disebut – tipe primitif . Untuk contoh, int adalah tipe primitif, tetapi String adalah tipe komposit yang menyimpan datanya sebagai tabel karakter (di mana setiap karakter adalah tipe primitif char )."

"Sangat menarik. Lanjutkan."

"Tipe gabungan dibentuk dengan mengelompokkan yang sederhana. Kami menyebut tipe seperti itu class . Ketika kami mendefinisikan kelas baru dalam suatu program, kami mendeklarasikan tipe data komposit baru . Datanya akan berupa tipe komposit lain atau tipe primitif."

kode jawa Keterangan
public class Person
{
   String name;
   int age;
}
Jenis komposit baru dideklarasikan – Person.
Datanya disimpan dalam Stringvariabel (tipe komposit) namedan intvariabel (tipe primitif).age
public class Rectangle
{
   int x, y, width, height;
}
Jenis komposit baru dideklarasikan – Rectangle.
Ini terdiri dari empat int(tipe primitif) variabel.
public class Cat
{
   Person owner;
   Rectangle territory;
   int age;
   String name;
}
Jenis komposit baru dideklarasikan – Cat. Ini memiliki variabel berikut:
owner, tipe komposit Person
territory, tipe komposit Rectangle
age, tipe primitif int
name, tipe kompositString

"Untuk saat ini, semuanya jelas, betapapun anehnya kelihatannya."

"Tipe besar (komposit) mengandung banyak tipe kecil (primitif). Itu sebabnya objek tipe ini menghabiskan banyak memori - lebih banyak daripada variabel tipe primitif. Terkadang jauh lebih banyak. Melakukan operasi penugasan dengan variabel seperti itu biasanya memakan waktu lama waktu dan membutuhkan penyalinan sebagian besar memori.Itulah sebabnya variabel tipe komposit tidak menyimpan objek itu sendiri, melainkan hanya referensi untuk itu, yaitu alamat empat byte.Ini cukup untuk mengatasi data dalam objek tersebut. Mesin Java menangani semua kompleksitas yang terkait."

"Aku tidak mengerti semua itu."

"Kami sebelumnya telah mengatakan bahwa variabel itu seperti sebuah kotak. Jika Anda ingin menyimpan angka 13 di dalamnya, Anda dapat menulis 13 di selembar kertas dan memasukkannya ke dalam kotak."

"Tapi bayangkan Anda perlu menyimpan sesuatu yang lebih besar di dalam kotak (variabel). Misalnya, seekor anjing, mobil, atau tetangga Anda. Alih-alih mencoba mendorong yang tidak dapat didorong ke dalam kotak, Anda dapat melakukan sesuatu yang lebih mudah: gunakan foto anjing bukannya anjing yang sebenarnya, plat nomor bukan mobil yang sebenarnya, atau nomor telepon tetangga Anda bukan tetangga Anda."

“Kita mengambil selembar kertas dan menuliskan nomor telepon tetangga. Ini seperti referensi ke suatu objek. Jika kita menyalin selembar kertas dengan nomor telepon tetangga di atasnya dan memasukkannya ke dalam beberapa kotak, sekarang ada lebih banyak referensi. ke tetanggamu. Tapi, seperti sebelumnya, kamu masih punya satu tetangga saja. Masuk akal, bukan?"

"Fitur penting dalam menyimpan data dengan cara ini adalah Anda dapat memiliki banyak referensi ke satu objek "

"Menarik sekali! Saya hampir mengerti. Tolong beri tahu saya sekali lagi – apa yang akan terjadi jika saya menugaskan variabel bertipe komposit ke variabel lain bertipe komposit yang sama?"

"Maka kedua variabel akan menyimpan alamat yang sama. Itu artinya jika Anda mengubah data objek yang direferensikan oleh satu variabel, Anda mengubah data yang direferensikan oleh yang lain . Kedua variabel tersebut mereferensikan objek yang sama . Tentu saja, mungkin ada banyak variabel lain yang juga menyimpan referensi ke sana."

"Apa yang dilakukan variabel tipe komposit (referensi/kelas) jika mereka tidak memegang referensi ke suatu objek? Apakah itu mungkin?"

"Ya, Amigo. Anda mendahului saya dengan pertanyaan Anda. Itu mungkin. Jika variabel dari tipe referensi (komposit) tidak menyimpan referensi ke suatu objek, maka ia menyimpan apa yang dikenal sebagai 'null reference'. Pada dasarnya, ini berarti mereferensikan objek yang alamatnya 0. Namun, mesin Java tidak pernah membuat objek dengan alamat ini, jadi ia selalu tahu bahwa jika variabel referensi berisi 0, maka ia tidak menunjuk ke objek apa pun. ."

kode jawa Keterangan
String s;
String s = null;
Pernyataan setara.
Person person;
person = new Person();
person = null;
Kami membuat variabel orang yang nilainya nol.
Kami memberikannya alamat objek Person yang baru dibuat.
Kami menetapkan nol ke variabel.
Cat cat = new Cat();
cat.owner = new Person();
cat.owner.name = "God";
Kami membuat objek Cat dan menyimpan alamatnya dalam variabel cat; cat.pemilik sama dengan nol.
Kami menyetel cat.owner sama dengan alamat objek Person yang baru dibuat.
cat.owner.name masih sama dengan null.
Kami menyetel cat.owner.name sama dengan "God"

"Apakah saya mengerti Anda dengan benar? Variabel dibagi menjadi dua jenis: tipe primitif dan tipe referensi. Tipe primitif menyimpan nilai secara langsung, sedangkan tipe referensi menyimpan referensi ke suatu objek. Tipe primitif termasuk int, char, boolean, dan banyak lainnya. Referensi jenis termasuk yang lainnya. Kami menggunakan kelas untuk membuatnya."

"Kau benar sekali, anakku."

"Jadi, kamu bilang kamu sudah mengerti segalanya. Ini beberapa tugas untuk membantumu memperkuat pengetahuanmu."

Komentar (6)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Depp Gerrard Level 2, Indonesia
29 Januari 2025
tugas di level, 0 dan 1 berbahasa indonesia tetapi masuk level 2 menjadi bahasa inggris, apakah seperti itu? alangkah baiknya u/ tugas jg berbahasa indonesia u/ pengguna yg berbahasa indonesia
John Squirrels Level 40, San Francisco, Poland
31 Januari 2025
Kami sedang dalam proses menerjemahkan semua tugas agar tersedia dalam bahasa yang sama, termasuk bahasa Indonesia.
Manca Level 2, Semarang, Indonesia
27 September 2024
hai, kira kira berapa lama agar soalnya berbahasa indonesia. aku sama sekali tidak paham.
John Squirrels Level 40, San Francisco, Poland
1 Oktober 2024
Hai, Kami telah menerjemahkan kuliah, tetapi sayangnya kami tidak dapat memberikan kerangka waktu untuk menerjemahkan tugas.
Anonymous #11544862 Level 3, Surabaya, Indonesia
24 Juli 2024
hai kenapa tugas nya dalam bentuk bahasa inggris saya tidak paham
John Squirrels Level 40, San Francisco, Poland
25 Juli 2024
Kami memiliki sejumlah level terjemahan dengan tugas. Kami sedang mengerjakan terjemahan lebih lanjut.