Java - Jenis Variabel

Variabel memberi kita penyimpanan bernama yang dapat dimanipulasi oleh program kita. Setiap variabel di Java memiliki tipe tertentu, yang menentukan ukuran dan tata letak memori variabel; kisaran nilai yang dapat disimpan dalam memori itu; dan set operasi yang dapat diterapkan ke variabel.

Anda harus mendeklarasikan semua variabel sebelum dapat digunakan. Berikut adalah bentuk dasar dari deklarasi variabel -

data type variable [ = value][, variable [ = value] ...] ;

Di sini tipe data adalah salah satu tipe data Java dan variabel adalah nama variabel. Untuk mendeklarasikan lebih dari satu variabel dari jenis yang ditentukan, Anda dapat menggunakan daftar yang dipisahkan koma.

Berikut adalah contoh yang valid dari deklarasi variabel dan inisialisasi di Java -

Contoh

int a, b, c;         // Declares three ints, a, b, and c.
int a = 10, b = 10;  // Example of initialization
byte B = 22;         // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a';        // the char variable a iis initialized with value 'a'

Bab ini akan menjelaskan berbagai tipe variabel yang tersedia dalam Bahasa Java. Ada tiga jenis variabel di Java -

  • Variabel lokal
  • Variabel instance
  • Variabel Kelas / Statis

Variabel Lokal

  • Variabel lokal dideklarasikan dalam metode, konstruktor, atau blok.

  • Variabel lokal dibuat ketika metode, konstruktor atau blok dimasukkan dan variabel akan dihancurkan setelah keluar dari metode, konstruktor, atau blok.

  • Pengubah akses tidak dapat digunakan untuk variabel lokal.

  • Variabel lokal hanya terlihat dalam metode, konstruktor, atau blok yang dideklarasikan.

  • Variabel lokal diimplementasikan pada tingkat tumpukan secara internal.

  • Tidak ada nilai default untuk variabel lokal, jadi variabel lokal harus dideklarasikan dan nilai awal harus diberikan sebelum penggunaan pertama.

Contoh

Di sini, usia adalah variabel lokal. Ini didefinisikan di dalam metode pupAge () dan cakupannya terbatas hanya pada metode ini.

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 sebagai berikut -

Keluaran

Puppy age is: 7

Contoh

Contoh berikut menggunakan age tanpa melakukan inisialisasi, sehingga akan memberikan error pada saat kompilasi.

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 mengompilasinya -

Keluaran

Test.java:4:variable number might not have been initialized
age = age + 7;
         ^
1 error

Variabel Instance

  • Variabel instance dideklarasikan di kelas, tetapi di luar metode, konstruktor, atau blok apa pun.

  • Saat spasi dialokasikan untuk objek di heap, slot untuk setiap nilai variabel instance dibuat.

  • Variabel instance dibuat ketika sebuah objek dibuat dengan menggunakan kata kunci 'baru' dan dihancurkan ketika objek tersebut dihancurkan.

  • Variabel contoh menyimpan nilai yang harus direferensikan oleh lebih dari satu metode, konstruktor atau blok, atau bagian penting dari keadaan objek yang harus ada di seluruh kelas.

  • Variabel instance dapat dideklarasikan di tingkat kelas sebelum atau setelah digunakan.

  • Pengubah akses dapat diberikan untuk variabel contoh.

  • Variabel instance terlihat untuk semua metode, konstruktor, dan blok di kelas. Biasanya, disarankan untuk menjadikan variabel ini pribadi (tingkat akses). Namun, visibilitas untuk subclass dapat diberikan untuk variabel ini dengan menggunakan pengubah akses.

  • Variabel instance memiliki nilai default. Untuk angka, nilai defaultnya adalah 0, untuk Boolean adalah salah, dan untuk referensi objek nilainya adalah nol. Nilai dapat ditetapkan selama deklarasi atau dalam konstruktor.

  • Variabel instance dapat diakses secara langsung dengan memanggil nama variabel di dalam kelas. Namun, dalam metode statis (ketika variabel instance diberikan aksesibilitas), mereka harus dipanggil menggunakan nama yang sepenuhnya memenuhi syarat. ObjectReference.VariableName .

Contoh

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 sebagai berikut -

Keluaran

name  : Ransika
salary :1000.0

Variabel Kelas / Statis

  • Variabel kelas yang juga dikenal sebagai variabel statis dideklarasikan dengan kata kunci statis di dalam kelas, tetapi di luar metode, konstruktor, atau blok.

  • Hanya akan ada satu salinan dari setiap variabel kelas per kelas, terlepas dari berapa banyak objek yang dibuat darinya.

  • Variabel statis jarang digunakan selain dideklarasikan sebagai konstanta. Konstanta adalah variabel yang dideklarasikan sebagai publik / privat, final, dan statis. Variabel konstanta tidak pernah berubah dari nilai awalnya.

  • Variabel statis disimpan dalam memori statis. Sangat jarang menggunakan variabel statis selain yang dinyatakan final dan digunakan sebagai konstanta publik atau privat.

  • Variabel statis dibuat saat program dimulai dan dimusnahkan saat program berhenti.

  • Visibilitas mirip dengan variabel instan. Namun, sebagian besar variabel statis dideklarasikan sebagai publik karena harus tersedia untuk pengguna kelas.

  • Nilai default sama dengan variabel instan. Untuk angka, nilai defaultnya adalah 0; bagi Boolean, itu salah; dan untuk referensi objek, nilainya null. Nilai dapat ditetapkan selama deklarasi atau dalam konstruktor. Selain itu, nilai dapat ditetapkan dalam blok penginisialisasi statis khusus.

  • Variabel statis dapat diakses dengan memanggil dengan nama kelas ClassName.VariableName .

  • Saat mendeklarasikan variabel kelas sebagai final statis publik, maka nama variabel (konstanta) semuanya dalam huruf besar. Jika variabel statis tidak publik dan final, sintaks penamaan sama dengan variabel instan dan lokal.

Contoh

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 sebagai berikut -

Keluaran

Development average salary:1000

Note - Jika variabel diakses dari kelas luar, konstanta harus diakses sebagai Karyawan.DEPARTEMEN

Apa selanjutnya?

Anda sudah menggunakan pengubah akses (publik & pribadi) dalam bab ini. Bab selanjutnya akan menjelaskan Pengubah Akses dan Pengubah Non-Akses secara rinci.