"Hai, Amigo!"

"Hai, Rishi!"

"Anda sudah menguasai dasar-dasar sintaks Java, jadi sekarang saya ingin memberi Anda lebih banyak detail."

"Hari ini, kita akan berbicara tentang tipe primitif dan berapa banyak memori yang mereka tempati. Pengetahuan ini akan berguna, bahkan mungkin hari ini. Inilah tipe dasarnya:"

Jenis Ukuran,
byte
Kisaran nilai Nilai default Keterangan
byte 1 -128 .. 127 0 Bilangan bulat terkecil, 1 byte
pendek 2 -32.768 .. 32.767 0 Bilangan bulat pendek, 2 byte
int 4 -2*10 9  ..2*10 9 0 Bilangan bulat, 4 byte
panjang 8 -9*10 18  .. 9*10 18 0L Bilangan bulat panjang, 8 byte
mengambang 4 -10 127  .. 10 127 0,0f Angka pecahan, 4 byte
dobel 8 -10 1023  .. 10 1023 0,0d Angka pecahan yang dua kali ukuran float, 8 byte
boolean 1 benar salah PALSU Tipe Boolean (hanya benar atau salah)
arang 2 0..65.535 '\u0000' Karakter, 2 byte, semua nilai yang tidak ditandatangani
Obyek 4 Referensi apa pun atau nol. batal Menyimpan referensi ke instance Object atau kelas yang turun dari Object

"Izinkan saya memberi tahu Anda lebih banyak tentang setiap jenis."

"Tipe byte adalah tipe integer terkecil. Variabel tipe ini hanya menempati 1 byte memori. Satu byte dapat menyimpan nilai dalam kisaran antara -128 dan 127."

"Mengapa kita membutuhkan tipe sekecil itu? Mengapa kita tidak selalu menggunakan int?"

"Bisa. Tapi jika Anda membuat array besar yang elemennya tidak perlu menyimpan nilai lebih besar dari 100, mengapa tidak menggunakan tipe ini? Apakah itu masuk akal?"

" Singkat dua kali lebih panjang dari satu byte, dan itu juga hanya menyimpan bilangan bulat. Angka positif terbesar yang dapat disimpannya adalah 32.767. Angka negatif terbesar yang dapat disimpannya adalah -32.768."

"  Tipe int  yang sudah Anda kenal. Ia dapat menyimpan bilangan bulat dalam kisaran ±2.000.000.000."

"  Jenis float  dibuat untuk menyimpan bilangan real (pecahan). Ukurannya 4 byte."

"Bilangan pecahan disimpan dalam bentuk yang agak menarik."

"Misalnya, angka  987654.321  dapat direpresentasikan sebagai 0.987654321*10 6 . Ini berarti angka tersebut dapat direpresentasikan sebagai dua angka dalam memori: 0. 987654321 ( mantissa, atau significand ) dan 6 ( eksponen berbasis 10 )."

"Untuk apa kita membutuhkan itu?"

"Pendekatan ini memungkinkan kita menggunakan 4 byte untuk menyimpan angka yang jauh lebih besar daripada yang dapat disimpan oleh int. Untuk melakukan ini, kita harus mengorbankan akurasi. Hanya sebagian dari byte tersebut yang digunakan untuk menyimpan mantissa, yang berarti bahwa angka ini hanya menyimpan 6-7 tempat desimal. Tempat desimal yang kurang penting akan dibuang."

"Angka-angka ini juga disebut angka float ing-point. Dari sinilah nama tipe float berasal. "

"Jadi begitu."

" Tipe ganda mirip dengan float , tetapi dua kali lebih panjang (sesuai dengan namanya), membutuhkan 8 byte. Ini dapat menampung mantissa yang lebih besar dan digit yang lebih signifikan. Jika Anda perlu menyimpan bilangan real, selalu coba gunakan tipe ini. "

" char adalah tipe hibrid. Nilainya dapat diartikan baik sebagai angka (yang dapat ditambahkan atau dikurangi) dan karakter. Ini dimungkinkan karena meskipun karakter memiliki representasi visual, komputer terutama melihatnya sebagai angka. Dan lebih mudah untuk memperlakukannya sebagai angka. Satu hal lagi: tipe char selalu positif. Itu tidak dapat menyimpan nilai negatif. "

" Tipe boolean adalah tipe logis yang hanya dapat menyimpan dua nilai: true atau false  . "

"Terlepas dari keberadaannya di bagan ini, tipe Object bukanlah tipe primitif. Ini adalah kelas dasar untuk semua kelas di Java. Pertama, semua kelas berasal darinya dan karena itu berisi metodenya. Kedua, variabel Object dapat menyimpan referensi ke objek dari jenis apa pun, termasuk nol ( referensi nol )."

"Aku sudah belajar banyak hari ini. Terima kasih atas pelajarannya, Rishi."