Memahami Tipe Variabel Java: Panduan Komprehensif
Sebuah variabel memberikan kita penyimpanan bernama yang dapat dimanipulasi oleh program kita. Setiap variabel dalam Java memiliki tipe tertentu, yang menentukan ukuran dan tata letak memori variabel; rentang nilai yang dapat disimpan dalam memori tersebut; dan himpunan operasi yang dapat diterapkan pada variabel.
Anda harus mendeklarasikan semua variabel sebelum dapat digunakan. Berikut adalah bentuk dasar deklarasi variabel −
data type variable [ = value][, variable [ = value] ...] ;
Di sini data type adalah salah satu tipe data Java dan variable adalah nama variabel. Untuk mendeklarasikan lebih dari satu variabel dengan tipe yang ditentukan, Anda dapat menggunakan daftar yang dipisahkan koma.
Berikut adalah contoh yang valid dari deklarasi dan inisialisasi variabel dalam Java −
Contoh
int a, b, c; // Mendeklarasikan tiga ints, a, b, dan c. int a = 10, b = 10; // Contoh inisialisasi byte B = 22; // menginisialisasi variabel tipe byte B. double pi = 3.14159; // mendeklarasikan dan menetapkan nilai PI. char a = 'a'; // variabel char a diinisialisasi dengan nilai 'a'
Bab ini akan menjelaskan berbagai tipe variabel yang tersedia dalam Bahasa Java. Ada tiga jenis variabel dalam Java −
- Local variables
- Instance variables
- Class/Static variables
Local Variables
Local variables dideklarasikan dalam method, konstruktor, atau blok.
Local variables dibuat saat method, konstruktor atau blok dimasukkan dan variabel akan dihancurkan setelah keluar dari method, konstruktor, atau blok.
Access modifiers tidak dapat digunakan untuk local variables.
Local variables hanya terlihat di dalam method, konstruktor, atau blok yang dideklarasikan.
Local variables diimplementasikan pada tingkat stack secara internal.
Tidak ada nilai default untuk local variables, jadi local variables harus dideklarasikan dan nilai awal harus ditugaskan sebelum penggunaan pertama kali.
Contoh
Di sini, age adalah variabel lokal. Ini didefinisikan di dalam method pupAge() dan cakupannya terbatas hanya pada method ini.
Live Demo
public class Test { public void pupAge() { int age = 0; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args[]) { Test test = new Test(); test.pupAge(); } } Ini akan menghasilkan hasil berikut −
Output
Puppy age is: 7
Contoh
Contoh berikut menggunakan age tanpa menginisialisasikannya, sehingga akan menghasilkan kesalahan saat kompilasi.
Live Demo
public class Test { public void pupAge() { int age; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args[]) { Test test = new Test(); test.pupAge(); } } Ini akan menghasilkan kesalahan berikut saat mengompilasi −
Output
Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error
Instance Variables
Instance variables dideklarasikan di dalam class, tetapi di luar method, konstruktor atau blok apa pun.
Saat ruang dialokasikan untuk objek di heap, sebuah slot untuk setiap nilai variabel instance dibuat.
Instance variables dibuat saat objek dibuat dengan kata kunci 'new' dan dihancurkan saat objek dihancurkan.
Instance variables menahan nilai yang harus dirujuk oleh lebih dari satu method, konstruktor atau blok, atau bagian penting dari status objek yang harus ada selama class.
Instance variables dapat dideklarasikan di level class sebelum atau setelah penggunaan.
Access modifiers dapat diberikan untuk instance variables.
Instance variables terlihat untuk semua method, konstruktor dan blok dalam class. Biasanya, disarankan untuk membuat variabel ini private (level akses). Namun, visibilitas untuk subclass dapat diberikan untuk variabel ini dengan menggunakan access modifiers.
Instance variables memiliki nilai default. Untuk angka, nilai default adalah 0, untuk Booleans adalah false, dan untuk object references adalah null. Nilai dapat ditugaskan selama deklarasi atau dalam konstruktor.
Instance variables dapat diakses secara langsung dengan memanggil nama variabel di dalam class. Namun, dalam static methods (saat instance variables diberikan aksesibilitas), mereka harus dipanggil menggunakan nama yang sepenuhnya memenuhi syarat. ObjectReference.VariableName.
Contoh
Live Demo
import java.io.*; public class Employee { // this instance variable is visible for any child class. public String name; // salary variable is visible in Employee class only. private double salary; // The name variable is assigned in the constructor. public Employee (String empName) { name = empName; } // The salary variable is assigned a value. public void setSalary(double empSal) { salary = empSal; } // This method prints the employee details. public void printEmp() { System.out.println("name : " + name ); System.out.println("salary :" + salary); } public static void main(String args[]) { Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); } } Ini akan menghasilkan hasil berikut −
Output
name : Ransika salary :1000.0
Class/Static Variables
Class variables juga dikenal sebagai static variables dideklarasikan dengan kata kunci static di dalam class, tetapi di luar method, konstruktor atau blok.
Hanya akan ada satu salinan dari setiap variabel class per class, terlepas dari berapa banyak objek yang dibuat darinya.
Static variables jarang digunakan selain dideklarasikan sebagai konstanta. Konstanta adalah variabel yang dideklarasikan sebagai public/private, final, dan static. Variabel konstanta tidak pernah berubah dari nilai awalnya.
Static variables disimpan di memori statis. Jarang digunakan static variables selain dideklarasikan final dan digunakan sebagai konstanta public atau private.
Static variables dibuat saat program dimulai dan dihancurkan saat program berhenti.
Visibilitas mirip dengan instance variables. Namun, sebagian besar static variables dideklarasikan public karena harus tersedia untuk pengguna class.
Nilai default sama dengan instance variables. Untuk angka, nilai default adalah 0; untuk Booleans, adalah false; dan untuk object references, adalah null. Nilai dapat ditugaskan selama deklarasi atau dalam konstruktor. Selain itu, nilai dapat ditugaskan dalam blok inisialisasi statis khusus.
Static variables dapat diakses dengan memanggil dengan nama class ClassName.VariableName.
Saat mendeklarasikan class variables sebagai public static final, maka nama variabel (konstanta) semuanya dalam huruf besar. Jika static variables bukan public dan final, sintaks penamaan sama dengan instance dan local variables.
Contoh
Live Demo
import java.io.*; public class Employee { // salary variable is a private static variable private static double salary; // DEPARTMENT is a constant public static final String DEPARTMENT = "Development "; public static void main(String args[]) { salary = 1000; System.out.println(DEPARTMENT + "average salary:" + salary); } } Ini akan menghasilkan hasil berikut −
Output
Development average salary:1000
Catatan − Jika variabel diakses dari class luar, konstanta harus diakses sebagai Employee.DEPARTMENT
Apa Selanjutnya?
Anda telah menggunakan access modifiers (public & private) dalam bab ini. Bab selanjutnya akan menjelaskan Access Modifiers dan Non-Access Modifiers secara rinci.