CodeGym /Java Blog /Acak /Variabel Jawa
John Squirrels
Level 41
San Francisco

Variabel Jawa

Dipublikasikan di grup Acak
Pada artikel ini, kami akan menjelaskan kepada semua pembelajar Java apa itu variabel Java dan bagaimana bekerja dengannya.

Apa itu variabel Java

Sebuah variabel di Java dapat dianggap sebagai sebuah kotak. "Kotak" ini memiliki ukuran tertentu: memori yang dialokasikan untuknya. Berapa banyak memori yang akan dialokasikan tergantung pada jenis variabelnya, tetapi kita akan membicarakannya nanti. Pada saat yang sama, ukuran kotak itu sendiri tidak dapat diubah setelah dibuat, tetapi isinya bisa. Kotak itu mungkin kosong. Anda dapat "memasukkan" beberapa nilai ke dalamnya, lalu mengekstrak dan memasukkan nilai lain. Jadi, variabel adalah bidang yang menyimpan nilai data selama eksekusi program Java. Kotak ini memiliki fitur penting:
  • itu selalu dapat berisi hanya satu nilai (atau dapat kosong, dalam hal ini akan berisi nilai default),
  • Ini memiliki tipe data. Ukurannya tergantung pada jenis data, serta pada area memori mana yang dialokasikan untuknya (di mana letaknya).
Variabel di Jawa - 1

Bagaimana cara mendeklarasikan variabel

Untuk mendeklarasikan variabel di Java, Anda perlu menentukan tipe dan namanya. Berikut adalah contoh mendeklarasikan tiga variabel:

int myInt;
String s;
Object variableName;
Di sini int , String , dan Object adalah tipe data dan myInt , s , variableName adalah nama variabel. Tipe data harus dipilih berdasarkan kebutuhan program, dan lebih baik memilih nama yang jelas tentang apa itu. Tentu saja, untuk pemula tidak terlalu ketat, tetapi dalam proyek besar, nama variabel seperti 's' dapat mengganggu keterbacaan kode. Jadi lebih baik membiasakan diri untuk menamai variabel dengan cara yang memperjelas kegunaannya sejak awal. Dalam alasan, tentu saja.

Bagaimana menginisialisasi variabel

Saat Anda mendeklarasikan variabel, Anda mengalokasikan memori untuknya. Inisialisasi berarti Anda "memasukkan" nilai tertentu ke dalam "kotak". Ini dapat dilakukan segera selama deklarasi variabel atau nanti. Selain itu, nilai variabel dapat berubah selama eksekusi program. Contoh:

public class VariableTest {
    public static void main(String[] args) {
        int myInt = 5;
        String s;
        s = "init";
        System.out.println(s);
        s = s+5;
        System.out.println(s);
    }
}
Di sini kita mendeklarasikan dan menginisialisasi variabel myInt dalam satu baris, segera mengalokasikan memori untuknya (32 bit untuk setiap angka int), memberinya nama, lalu menempatkan nilai 5 dalam memori yang dialokasikan. Kemudian kami mendeklarasikan bahwa kami mengalokasikan ruang memori untuk string s , dan sudah ada perintah terpisah yang memasukkan nilai "init" ke dalamnya. Setelah itu, kami mencetak string dan mengubah nilai variabel s . Dalam program ini, kami mencetak garis-garisnya, dan jika Anda menjalankannya, Anda akan melihat hasil sebagai berikut:
init init5

Tipe data variabel di Java: primitif dan non-primitif

Tipe data variabel dalam Java dibagi menjadi dua kelompok:
  • Tipe data primitif meliputi byte , short , int , long , float , double , boolean , dan char
  • Tipe data non-primitif seperti String , Arrays , dan Classes
Berikut adalah contoh bekerja dengan variabel:

public class VariableTest {
   public static void main(String[] args) {

       int myInt = - 5;               // integer (whole number)
       float myFloat = 2.718281828459045f;    // Floating point number
       char myLetter = 'a';         // character
       boolean myBool = true;       // boolean
       String myText = "Hero";     // String
       System.out.println(myInt + " " +
               myFloat +" " + myLetter + " " +  myBool + " " + myText);
       Student myStudent = new Student("Walker","Johnny", "Kyle", null);
      
   }
}
int , char , boolean , dan float adalah primitif. String adalah non-primitif. Bagaimana dengan variabel myStudent ? Ini adalah objek dari kelas yang dibuat pengguna Student . Itu dibuat hanya untuk mengilustrasikan karya dengan variabel non-primitif. Mereka mayoritas di Java, karena hampir semua yang ada di bahasa pemrograman ini adalah objek. Untuk pengertiannya, berikut adalah kode kelas Student :

import java.util.Date;

public class Student {
   String surname;
   String name;
   String secondName;
   Long birthday; // Long instead of long is used by Gson/Jackson json parsers and various orm databases

   public Student(String surname, String name, String secondName, Date birthday ){
       this.surname = surname;
       this.name = name;
       this.secondName = secondName;
       this.birthday = birthday == null ? 0 : birthday.getTime();
   }

   @Override
   public int hashCode(){
       //TODO: check for nulls
       //return surname.hashCode() ^ name.hashCode() ^ secondName.hashCode() ^ (birthday.hashCode());
       return (surname + name + secondName + birthday).hashCode();
   }
   @Override
   public boolean equals(Object other_) {
       Student other = (Student)other_;
       return (surname == null || surname.equals(other.surname) )
               && (name == null || name.equals(other.name))
               && (secondName == null || secondName.equals(other.secondName))
               && (birthday == null || birthday.equals(other.birthday));
   }
}

Jenis variabel di Java: lokal, instance, dan statis

Ada tiga jenis variabel di Java, kami telah mendaftarkannya sebagai berikut:
  1. Variabel Lokal
  2. Variabel Instance
  3. Variabel Statis

Variabel Lokal

Variabel yang dideklarasikan di dalam tubuh metode disebut variabel lokal. Juga, variabel lokal dideklarasikan di dalam konstruktor dan blok. Anda dapat menggunakan variabel lokal hanya di dalam metode, konstruktor, atau blok tempat mereka dibuat dan metode lain di kelas bahkan tidak menyadari bahwa variabel itu ada. Jadi variabel lokal dibuat ketika metode, konstruktor, atau blok dimasukkan dan variabel dihancurkan setelah metode, konstruktor, atau blok tidak berfungsi. Variabel lokal tidak dapat didefinisikan dengan kata kunci statis . Terlebih lagi: Anda tidak dapat menggunakan pengubah akses untuk variabel lokal. Ini contohnya:

public class VariableTest {
   public static void main(String[] args) {
       System.out.println(myMethod("C plus "));
   }
           private static String myMethod(String myString) {
       String myOtherString = "plus";
       return myString + myOtherString;
   }
}
Di sini myOtherString adalah variabel lokal. Anda tidak dapat menggunakannya dari metode lain, tetapi myMethod . Variabel lokal tidak boleh memiliki nilai default. Jika setidaknya satu variabel lokal tidak diinisialisasi dalam program, program tidak akan bekerja dengan benar. Mari buat perubahan kecil pada salah satu contoh sebelumnya dan "lupa" menginisialisasi variabel myBool :

public class VariableTest {
   public static void main(String[] args) {

       int myInt = - 5;               // integer (whole number)
       float myFloat = 2.718281828459045f;    // Floating point 
       char myLetter = 'a';         // character
       boolean myBool;       // boolean
       String myText = "Hero";     // String
       System.out.println(myInt + " " +
               myFloat +" " + myLetter + " " +  myBool + " " + myText);
       Student myStudent = new Student("Walker","Johnny", "Kyle", null);

   }
}
Jika kami mencoba menjalankan program, itu akan menimbulkan kesalahan:
Error:(10, 50) java: variabel myBool mungkin belum diinisialisasi

Variabel Instance

Variabel yang dideklarasikan di dalam kelas tetapi di luar tubuh metode, konstruktor, atau blok apa pun disebut variabel instan. Variabel instan dibuat saat objek dibuat menggunakan kata kunci baru . Itu hancur ketika objek dihancurkan. Itu tidak dapat dideklarasikan sebagai statis, tetapi Anda dapat menggunakan pengubah akses untuk variabel instan. Variabel instan terlihat untuk semua metode, konstruktor, dan blok di kelas. Biasanya variabel instan bersifat pribadi, tetapi Anda dapat mengubah visibilitas untuk subkelas. Variabel instan sebagai kebalikan dari variabel lokal memiliki nilai default. Untuk semua tipe angka primitif, nilai defaultnya adalah 0, untuk boolean nilainya salah, dan untuk referensi objek nilainya nol. Nilai dapat diberikan selama deklarasi atau di dalam konstruktor. Ini contohnya:

//instance variable example
public class Employee {

   // here we have a public instance variable. It is visible for this class and child classes
   public String name;

   //this instance variable is private so it’s visible for the Employee class only. You can use setters and getters to get it
   private double salary;

   public Employee (String empName) {
       name = empName;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public double getSalary() {
       return salary;
   }

   public void setSalary(double employeeSalary) {
       salary = employeeSalary;
   }

   public static void main(String args[]) {
       Employee employee = new Employee("Johnny");
       employee.setSalary(1500);
       System.out.println("name = " + employee.getName());
       System.out.println("salary = " + employee.getSalary());
   }
}

Variabel statis

Sebuah variabel yang dinyatakan sebagai statis disebut variabel statis. Java menawarkan Anda untuk mendeklarasikan variabel semacam itu di luar metode, konstruktor, atau blok. Itu tidak bisa lokal, mereka milik kelas, bukan instance. Itu berarti bahwa satu salinan variabel statis pernah dibuat dan dibagikan di antara semua instance kelas. Alokasi memori untuk variabel statis hanya terjadi sekali saat kelas dimuat di memori. Mereka dapat memiliki visibilitas apa pun, tetapi biasanya dinyatakan sebagai publik. Mereka juga memiliki nilai default seperti variabel instan.

public class Box
{
   public void add(int data)
   {
       Storage.sum = Storage.sum + data;
       Storage.count++;
   }

   public void remove(int data)
   {
       Storage.sum = Storage.sum - data;
       Storage.count--;
   }
}

public class Storage
{
   public static int count = 0;
   public static int sum = 0;
}
Dalam contoh di atas, kami membuat kelas Penyimpanan terpisah , memindahkan variabel jumlah dan jumlah ke dalamnya, dan mendeklarasikannya statis. Variabel statis publik dapat diakses dari metode program apa pun (dan tidak hanya dari metode). Untuk memperkuat apa yang Anda pelajari, kami sarankan Anda menonton video pelajaran dari Kursus Java kami
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION