Variabel berlaku pada memori untuk menyimpan nilai. Dengan kata lain, saat membuat variabel, Anda perlu menerapkan ruang di memori.
Sistem manajemen memori mengalokasikan ruang penyimpanan ke variabel sesuai dengan tipenya, dan ruang yang dialokasikan hanya dapat digunakan untuk menyimpan data jenis ini.
Oleh karena itu, dengan mendefinisikan variabel dengan tipe berbeda, bilangan bulat, desimal, atau karakter dapat disimpan dalam memori.
Dua tipe data utama Java:
Tipe data bawaan
Tipe data referensi
Bahasa Java menyediakan delapan tipe dasar. Enam tipe numerik (empat bilangan bulat, dua tipe floating point), satu tipe karakter, dan satu tipe Boolean.
tipe byte:
Tipe data byte adalah bilangan bulat 8-bit, bertanda tangan, yang direpresentasikan dalam komplemen dua;
Nilai minimumnya adalah -128 (-2^7);
Nilai maksimumnya adalah 127 (2^7-1);
Nilai defaultnya adalah 0;
Tipe byte digunakan untuk menghemat ruang dalam array besar, terutama menggantikan bilangan bulat, karena variabel byte hanya menempati seperempat ruang tipe int;
Contoh: byte a = 100, byte b = -50.
tipe pendek (tipe integer pendek):
Tipe data pendek adalah bilangan bulat komplemen dua bertanda 16-bit.
Nilai minimumnya adalah -32768 (-2^15);
Nilai maksimumnya adalah 32767 (2^15 - 1);
Tipe data Short juga dapat menghemat ruang seperti byte. Variabel pendek adalah separuh ruang yang ditempati oleh variabel tipe int;
Nilai defaultnya adalah 0;
Contoh: pendek s = 1000, pendek r = -20000.
tipe int (tipe integer):
Tipe data int adalah bilangan bulat bertanda 32-bit yang direpresentasikan dalam komplemen dua;
Nilai minimumnya adalah -2,147,483,648 (-2^31);
Nilai maksimumnya adalah 2.147.483.647 (2^31 - 1);
Umumnya, variabel integer defaultnya bertipe int;
Nilai defaultnya adalah 0;
Contoh: int a = 100000, int b = -200000.
panjang (tipe bilangan bulat panjang):
Tipe data panjang adalah bilangan bulat bertanda 64-bit yang direpresentasikan dalam komplemen dua;
Nilai minimumnya adalah -9.223.372.036.854.775.808 (-2^63);
Nilai maksimumnya adalah 9.223.372.036.854.775.807 (2^63 -1);
Tipe ini terutama digunakan pada sistem yang perlu membandingkan bilangan bulat besar;
Nilai defaultnya adalah 0L;
Contoh: panjang a = 100000L, panjang b = -200000L.
float (tipe floating point presisi tunggal):
Tipe data float adalah bilangan floating-point presisi tunggal, 32-bit, yang sesuai dengan standar IEEE 754;
float dapat menghemat ruang memori saat menyimpan array floating point yang besar;
Nilai defaultnya adalah 0,0f;
Angka floating point tidak dapat digunakan untuk mewakili nilai yang tepat seperti mata uang;
Contoh: float f1 = 234.5f.
ganda (tipe floating point presisi ganda):
Tipe data ganda adalah bilangan floating point presisi ganda, 64-bit, sesuai IEEE 754;
Tipe default angka floating point adalah ganda;
Tipe ganda juga tidak bisa mewakili nilai yang tepat, seperti mata uang;
Nilai defaultnya adalah 0,0d;
Contoh: ganda d1 = 123,4.
boolean:
Tipe data boolean mewakili satu bit informasi;
Hanya ada dua nilai: benar dan salah;
Tipe ini hanya digunakan sebagai tanda untuk mencatat situasi benar/salah;
Nilai defaultnya adalah salah;
Contoh: boolean satu = benar.
karakter (tipe karakter):
Tipe char adalah karakter Unicode 16-bit tunggal;
Nilai minimumnya adalah 'u0000' (yaitu 0);
Nilai maksimumnya adalah 'uffff' (yaitu, 65.535);
Tipe data char dapat menyimpan karakter apa pun;
Contoh: huruf char = 'A'.
Untuk rentang nilai tipe dasar tipe numerik, kita tidak perlu dipaksa mengingatnya, karena nilainya sudah didefinisikan di kelas pembungkus yang sesuai dalam bentuk konstanta. Silakan lihat contoh berikut:
kelas publik PrimitiveTypeTest {
public static void main(String[] args) {
// byte
System.out.println("Tipe dasar: byte Digit biner: " + Byte.SIZE);
System.out.println("Kelas pengemasan: java.lang.Byte");
System.out.println("Nilai minimum: Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("Nilai maksimum: Byte.MAX_VALUE=" + Byte.MAX_VALUE);
Sistem.keluar.println();
// pendek
System.out.println("Tipe dasar: digit biner pendek: " + Short.SIZE);
System.out.println("Kelas pengemasan: java.lang.Short");
System.out.println("Nilai minimum: Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("Nilai maksimum: Short.MAX_VALUE=" + Short.MAX_VALUE);
Sistem.keluar.println();
// ke dalam
System.out.println("Tipe dasar: int Digit biner: " + Integer.SIZE);
System.out.println("Kelas pengemasan: java.lang.Integer");
System.out.println("Nilai minimum: Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("Nilai maksimum: Integer.MAX_VALUE=" + Integer.MAX_VALUE);
Sistem.keluar.println();
// panjang
System.out.println("Tipe dasar: panjang Jumlah digit biner: " + Panjang.SIZE);
System.out.println("Kelas pengemasan: java.lang.Long");
System.out.println("Nilai minimum: Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("Nilai maksimum: Long.MAX_VALUE=" + Long.MAX_VALUE);
Sistem.keluar.println();
// mengambang
System.out.println("Tipe dasar: float Jumlah digit biner: " + Float.SIZE);
System.out.println("Kelas pengemasan: java.lang.Float");
System.out.println("Nilai minimum: Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("Nilai maksimum: Float.MAX_VALUE=" + Float.MAX_VALUE);
Sistem.keluar.println();
//dobel
System.out.println("Tipe dasar: digit Biner ganda: " + Double.SIZE);
System.out.println("Kelas pengemasan: java.lang.Double");
System.out.println("Nilai minimum: Ganda.MIN_VALUE=" + Ganda.MIN_VALUE);
System.out.println("Nilai maksimum: Double.MAX_VALUE=" + Double.MAX_VALUE);
Sistem.keluar.println();
// karakter
System.out.println("Tipe dasar: char Digit biner: " + Karakter.SIZE);
System.out.println("Kelas pengemasan: java.lang.Character");
// Keluarkan Character.MIN_VALUE ke konsol dalam bentuk numerik, bukan dalam bentuk karakter System.out.println("Nilai minimum: Character.MIN_VALUE="
+ (int) Karakter.MIN_VALUE);
// Keluarkan Character.MAX_VALUE ke konsol dalam bentuk numerik, bukan dalam bentuk karakter System.out.println("Nilai maksimum: Character.MAX_VALUE="
+ (int) Karakter.MAX_VALUE);
}
}
Output dari kompilasi kode di atas adalah sebagai berikut:
Tipe dasar: byte Digit biner: 8
Kelas pembungkus: java.lang.Byte
Nilai minimum: Byte.MIN_VALUE=-128
Nilai maksimum: Byte.MAX_VALUE=127
Tipe dasar: Digit biner pendek: 16
Kelas pembungkus: java.lang.Short
Nilai minimum: Pendek.MIN_VALUE=-32768
Nilai maksimum: Pendek.MAX_VALUE=32767
Tipe dasar: int Digit biner: 32
Kelas pembungkus: java.lang.Integer
Nilai minimum: Integer.MIN_VALUE=-2147483648
Nilai maksimum: Integer.MAX_VALUE=2147483647
Tipe dasar: panjang Jumlah digit biner: 64
Kelas pembungkus: java.lang.Long
Nilai minimum: Panjang.MIN_VALUE=-9223372036854775808
Nilai maksimum: Long.MAX_VALUE=9223372036854775807
Tipe dasar: float Jumlah digit biner: 32
Kelas pembungkus: java.lang.Float
Nilai minimum: Float.MIN_VALUE=1.4E-45
Nilai maksimum: Float.MAX_VALUE=3.4028235E38
Tipe dasar: digit biner ganda: 64
Kelas pembungkus: java.lang.Double
Nilai minimum: Ganda.MIN_VALUE=4.9E-324
Nilai maksimum: Ganda.MAX_VALUE=1.7976931348623157E308
Tipe dasar: char Digit biner: 16
Kelas pembungkus: java.lang.Character
Nilai minimum: Karakter.MIN_VALUE=0
Nilai maksimum: Character.MAX_VALUE=65535
Nilai minimum dan maksimum Float dan Double dikeluarkan dalam bentuk notasi ilmiah. Tanda "E+angka" di akhir berarti angka sebelum E harus dikalikan dengan "angka" pangkat 10. Misalnya, 3,14E3 adalah 3,14×1000=3140, dan 3,14E-3 adalah 3,14/1000=0,00314.
Faktanya, ada tipe dasar void lain di JAVA, yang juga memiliki kelas pengemasan java.lang.Void yang sesuai, tetapi kita tidak dapat mengoperasikannya secara langsung.
Variabel tipe referensi dibuat oleh konstruktor kelas dan Anda dapat menggunakannya untuk mengakses objek yang direferensikan. Variabel-variabel ini ditentukan sebagai tipe tertentu ketika dideklarasikan, seperti Karyawan, Pubby, dll. Setelah suatu variabel dideklarasikan, tipenya tidak dapat diubah.
Objek dan array adalah tipe data referensi.
Nilai default untuk semua tipe referensi adalah null.
Variabel referensi dapat digunakan untuk merujuk ke tipe apa pun yang kompatibel.
Contoh: Hewan hewan = Hewan baru("jerapah").
Konstanta adalah nilai tetap. Mereka tidak memerlukan perhitungan dan langsung mewakili nilai-nilai yang sesuai.
Konstanta mengacu pada besaran yang tidak dapat diubah. Bendera terakhir digunakan di Java, dan metode deklarasinya mirip dengan variabel:
PI ganda akhir = 3,1415927;
Meskipun nama konstanta juga bisa menggunakan huruf kecil, untuk memudahkan identifikasi, huruf besar biasanya digunakan untuk mewakili konstanta.
Literal dapat ditugaskan ke variabel tipe bawaan apa pun. Misalnya:
byte a = 68;
karakter a = 'A'
Byte, int, long, dan short semuanya dapat direpresentasikan dalam notasi desimal, heksadesimal, dan oktal.
Saat menggunakan konstanta, awalan 0 menunjukkan oktal, dan awalan 0x menunjukkan heksadesimal. Misalnya:
int desimal = 100;
int oktal = 0144;
int heksa = 0x64;
Seperti bahasa lain, konstanta string Java adalah rangkaian karakter yang diapit di antara dua tanda kutip. Berikut ini adalah contoh literal string:
"Halo Dunia"
"duanbaris"
""Ini ada dalam tanda kutip""
Konstanta string dan konstanta karakter dapat berisi karakter Unicode apa pun. Misalnya:
karakter a = 'u0001';
Tali a = "u0001";
Bahasa Java mendukung beberapa rangkaian karakter escape khusus.
simbol | Arti karakter |
---|---|
N | Umpan baris (0x0a) |
R | Masukkan (0x0d) |
F | Karakter umpan formulir (0x0c) |
B | Spasi mundur (0x08) |
Karakter nol (0x0) | |
S | rangkaian |
T | karakter tab |
" | tanda kutip ganda |
' | kutipan tunggal |
\ | garis miring terbalik |
ddd | Karakter oktal (ddd) |
uxxxx | Karakter Unicode heksadesimal (xxxx) |
Bagian ini menjelaskan tipe data dasar Java. Bagian selanjutnya mengeksplorasi berbagai jenis variabel dan kegunaannya.