Tipe data pada java
Sebelumnya kita telah mengetahui tentang definisi , cara penulisan serta sifat dari variable. Variable pada java dapat memiliki nilai (initialized variable) dan uninitialized variable atau yang disebut sebagai variable yang belum memiliki nilai. Untuk dapat membuat variable kita memerlukan tipe data atau jenis nilai yang dapat kita berikan pada variable tersebut sebagai syaratnya.
Tipe data ini tidak hanya melekat ke varible tetapi juga dapat melekat ke fungsi/method, parameter dalam suatu fungsi, object instansiasi dan lain sebagainnya.
Contohnya pada kode dibawah ini, variable nama memiliki tipe data String , hanya nilai string yang dapat dimasukan pada variable ini.
public class App { public static void main(String [] args) { /* * Tipe data */ String nama = "Degananda ferdian"; System.out.print(nama); } }
jika kita berikan nilai integer pada variable nama diatas maka java akan mengidentifikasinnya sebagai error sebagaimana terlihat pada penjelasan dibawah ini
package learning; public class App { public static void main(String [] args) { /* * Tipe data */ String nama = 1800; System.out.print(nama); } }
java akan mengembalikan suatu error karena memaksakan nilai kepada variable Nama yang bukan bertipe String.
error pada gambar diatas akan muncul pada console IDE anda jika memaksakan memberikan nilai 1800 pada variable nama. Sebenarnya kita tidak perlu menjalankan program java (run) untuk dapat mengetahui error tersebut.
Jika anda menggunakan IDE , pada nomor baris (line number) yang tersebut disebelah kiri dari kode akan dapat memiliki ikon erorr yang menandakan bahwa terdapat error pada baris tersebut seperit dibawah ini (kami menggunakan eclipse sebagai IDE nya).
Daftar tipe data pada java
Sebelum kita mengetahui apa saja tipe data yang ada pada java, terdapat dua jenis dari tipe data. Pertama adalah tipe data primivite dan tipe data non primitive.
- Tipe data primitive, tipe data yang merupakan bawaan dari java. Contoh didalamnya adalah integer,char, boolean dan float
- Tipe data non primitive, tipe data yang didalamnya memiliki method/metode (bukan bawaan dari java atau tipe data yang menjadi class pada java). Contohnya adalah Classes, Interfaces dan array. Oh ya, string merupakan tipe data non primitive.
Mengapa string merupakan non primitive ? karena string memiliki method didalamnya , string sendiri juga merupakan suatu class. Contohnya ketika anda menggunakan IDE dan menggunakan fitur intellisense nya pada variable bertipe string maka akan muncul berbagai method yang ada pada variable tersebut.
1.Tipe data integer
Integer yakni tipe data yang memungkinkan suatu variable menyimpan nilai angka / bilangan bulat (nunber). Tipe data integer ini merupakan tipe data primitive. Integer sendiri dapat diberikan angka dengan range yang bervariasi tergantung jenis integernya. Integer memiliki empat jenis yakni : byte, short, int dan long Silahkan lihat tabel dibawah untuk melihat nilai maksimal yang dapat ditampung dalam integer.
Tipe data | Ukuran maksimal yang dapat ditampung (dalam byte) | Range angka yang dapat di simpan |
---|---|---|
byte | 1 byte | −128 to 127 |
short | 2 bytes | −32768 to 32767 |
int | 4 bytes | −2,147,483,648 to 2,147,483,647 |
long | 8 bytes | 9,223,372,036,854,775,808 to 9,223,372,036,854,755,807 |
sederhanannya, kita tidak perlu menghafal range angkannya cukup melihat ukuran dalam memori untuk masing-masing tipe data diatas. Range dari suatu integer dapat dikalkulasi dengan rumus dibawah
2^(n-1)
n adalah nilai bits required. Perlu diketahui bahwa 1 byte sama dengan 8 bits. Sehingga contohnya untuk short yang memiliki ukuran 2 bytes ini berarti setara dengan 16 bits. Maka range nilai untuk short adalah 2^(8-1) = 2^7. Nilai ini berawal dari nilai minimum (negative) ke maksimumnya. Berarti short memiliki range -2^7 hingga 2^7.
2.Tipe data float / floating point
Jika pada integer kita menyimpan bilangan bulat. maka pada tipe data floating point merupakan kebalikannya. Tipe data floating point menyimpan bilangan desimal (bilangan yang memiliki koma). Tipe data floating point ini memiliki dua jenis yakni :
- float
- double
keduannya merupakan tipe data primitive dan hanya memiliki perbedaan pada nilai bilangan bulat maksimal yang dapat ditampung sesuai dengan tabel dibawah ini
Tipe data | Ukuran maksimal yang dapat ditampung (dalam byte) | Range angka yang dapat di simpan |
---|---|---|
float | 4 bytes | 3.4e−038 to 3.4e+038 |
double | 8 bytes | 1.7e−308 to 1.7e+038
|
3.Tipe data Karakter / Character / Char
Tipe data ini untuk menyimpan kombinasi unicode character (unicode character set) yang memiliki ukuran maksimal dalam byte sejumlah 2 byte. Yang jika byte ini dikonversikan menjadi jumlah karakter maka jumlahnya hanya akan dapat menampung 1 karakter.
Contoh unicode character adalah sebagia berikut
Name Character Abbreviation Decimal |
Lowercase y y 121 |
---|
4. Boolean
Tipe data primitive pada java yang menyimpan true(benar/0) dan false(salah/0)