Java - Kelas Numbers
Halo, para programmer Java yang aspiratif! Hari ini, kita akan memasuki dunia yang menarik tentang angka di Java. Jangan khawatir jika Anda baru mengenal pemrograman; kita akan memulai dari dasar-dasar dan maju ke atas. Pada akhir tutorial ini, Anda akan menarik angka seperti seorang pro!
Pengenalan ke Kelas Numbers di Java
Di Java, angka tidak hanya nilai sederhana; mereka adalah objek dengan superpower! Java menyediakan beberapa kelas untuk menangani jenis-jenis angka yang berbeda. Kelas-kelas ini adalah bagian dari paket java.lang
, yang secara otomatis diimpor ke setiap program Java.
Hierarki Kelas Number
Ayo kita lihat pandangan dari atas hierarki kelas Number:
Number (abstrak)
|
+-------+-------+
| | |
Integer Float Double
|
Byte
Kelas Number
adalah superclass semua kelas wadah numerik. Itu adalah abstrak, yang berarti Anda tidak dapat membuat objek Number
secara langsung, tetapi Anda dapat menggunakan subclass-nya.
Kelas Wadah
Java menyediakan kelas wadah untuk setiap tipe numerik primitif. Kelas-kelas ini "mengemas" nilai primitif ke dalam objek, memberikan mereka fungsi tambahan. Berikut adalah tabel dari kelas wadah numerik yang paling umum digunakan:
Tipe Primitif | Kelas Wadah |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
Membuat Objek Number
Ayo kita buat beberapa objek angka dan lihat bagaimana mereka bekerja:
Integer intObj = new Integer(42);
Double doubleObj = new Double(3.14159);
Float floatObj = new Float(2.5f);
Dalam contoh ini, kita membuat objek jenis angka yang berbeda. Perhatikan bagaimana kita menggunakan kata kunci new
diikuti dengan konstruktor kelas wadah.
Tapi tunggu, ada cara yang lebih mudah! Java menyediakan autoboxing, yang secara otomatis mengkonversi primitif ke objek wadah mereka:
Integer intObj = 42;
Double doubleObj = 3.14159;
Float floatObj = 2.5f;
Apakah itu keren? Java melakukan pengemasan untuk kita di belakang layar!
Metode Angka Umum
Sekarang bahwa kita memiliki objek angka kita, mari kita eksplor beberapa metode yang berguna mereka menyediakan:
1. valueOf()
Metode valueOf()
adalah cara praktis untuk membuat objek angka:
Integer intObj = Integer.valueOf(42);
Double doubleObj = Double.valueOf("3.14159");
Metode ini sering digunakan daripada menggunakan konstruktor karena dapat menggunakan objek terkache untuk performa yang lebih baik.
2. xxxValue()
Metode-metode ini mengkonversi objek angka ke tipe primitifnya:
Integer intObj = 42;
int intValue = intObj.intValue();
double doubleValue = intObj.doubleValue();
Di sini, intValue()
mengembalikan nilai int, sementara doubleValue()
mengkonversinya ke double.
3. compareTo()
Metode ini membandingkan dua objek angka:
Integer num1 = 42;
Integer num2 = 100;
int result = num1.compareTo(num2);
System.out.println(result); // Output: -1
Metode compareTo()
mengembalikan:
- Nilai negatif jika angka pertama kurang dari yang kedua
- Nol jika mereka sama
- Nilai positif jika angka pertama lebih besar dari yang kedua
4. equals()
Metode ini memeriksa jika dua objek angka sama:
Integer num1 = 42;
Integer num2 = 42;
boolean areEqual = num1.equals(num2);
System.out.println(areEqual); // Output: true
Ingat, equals()
membandingkan nilai, bukan referensi objek!
Keseruan dengan Angka: Mini-Proyek
Ayo menggunakan pengetahuan baru kita dengan sebuah proyek kecil. Kita akan membuat sebuah permainan tebak angka sederhana:
import java.util.Random;
import java.util.Scanner;
public class NumberGuessingGame {
public static void main(String[] args) {
Random random = new Random();
Integer secretNumber = random.nextInt(100) + 1;
Scanner scanner = new Scanner(System.in);
Integer guess;
int attempts = 0;
System.out.println("Selamat datang di Permainan Tebak Angka!");
System.out.println("Saya pikir tentang angka antara 1 dan 100.");
do {
System.out.print("Masukkan tebakan Anda: ");
guess = scanner.nextInt();
attempts++;
if (guess.compareTo(secretNumber) < 0) {
System.out.println("Terlalu rendah! Coba lagi.");
} else if (guess.compareTo(secretNumber) > 0) {
System.out.println("Terlalu tinggi! Coba lagi.");
} else {
System.out.println("Selamat! Anda menebak angka dalam " + attempts + " tebakan!");
}
} while (!guess.equals(secretNumber));
scanner.close();
}
}
Berikut adalah apa yang terjadi dalam kode ini:
- Kita membuat sebuah objek
Random
untuk menghasilkan angka acak antara 1 dan 100. - Kita menggunakan
Scanner
untuk membaca input pengguna. - Kita menggunakan do-while loop untuk terus meminta tebakan sampai angka yang benar ditebak.
- Kita menggunakan
compareTo()
untuk memeriksa jika tebakan terlalu rendah atau terlalu tinggi. - Kita menggunakan
equals()
untuk memeriksa jika tebakan benar.
Permainan ini menunjukkan bagaimana kita dapat menggunakan objek Number dan metode mereka dalam sebuah aplikasi dunia nyata. Ini bukan hanya tentang penyimpanan angka; itu tentang manipulasi dan pembandingan mereka dalam cara yang berarti.
Kesimpulan
Kita hanya menggaruk permukaan dari apa yang kelas Number di Java dapat lakukan. Sebagai Anda melanjutkan perjalanan Java Anda, Anda akan menemukan fitur dan metode yang lebih kuat. Ingat, praktek membuat perfect, jadi jangan segan untuk eksperimen dengan konsep ini di proyek Anda sendiri.
tetap mengkodekan, tetap belajar, dan yang paling penting, bersenang-senanglah dengan angka Java!
Credits: Image by storyset