Java - Değişken Türler

Bir değişken, programlarımızın değiştirebileceği adlandırılmış depolama alanı sağlar. Java'daki her değişkenin, değişkenin belleğinin boyutunu ve düzenini belirleyen belirli bir türü vardır; bu hafızada saklanabilecek değerlerin aralığı; ve değişkene uygulanabilecek işlemler kümesi.

Kullanılmadan önce tüm değişkenleri bildirmelisiniz. Aşağıda, değişken bildiriminin temel şekli verilmiştir -

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

Burada veri türü , Java'nın veri türlerinden biridir ve değişken , değişkenin adıdır. Belirtilen türde birden fazla değişkeni bildirmek için virgülle ayrılmış bir liste kullanabilirsiniz.

Aşağıda Java'da değişken bildirimi ve başlatma için geçerli örnekler verilmiştir -

Misal

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'

Bu bölüm, Java Dilinde bulunan çeşitli değişken türlerini açıklayacaktır. Java'da üç tür değişken vardır -

  • Yerel değişkenler
  • Örnek değişkenler
  • Sınıf / Statik değişkenler

Yerel Değişkenler

  • Yerel değişkenler yöntemlerde, yapıcılarda veya bloklarda bildirilir.

  • Yöntem, yapıcı veya blok girildiğinde yerel değişkenler oluşturulur ve değişken, yöntem, yapıcı veya bloktan çıktıktan sonra yok edilir.

  • Erişim değiştiricileri, yerel değişkenler için kullanılamaz.

  • Yerel değişkenler yalnızca bildirilen yöntem, yapıcı veya blok içinde görülebilir.

  • Yerel değişkenler, dahili olarak yığın düzeyinde uygulanır.

  • Yerel değişkenler için varsayılan değer yoktur, bu nedenle yerel değişkenler bildirilmeli ve ilk kullanımdan önce bir başlangıç ​​değeri atanmalıdır.

Misal

Burada yaş yerel bir değişkendir. Bu pupAge () yönteminde tanımlanır ve kapsamı yalnızca bu yöntemle sınırlıdır.

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();
   }
}

Bu, aşağıdaki sonucu verecektir -

Çıktı

Puppy age is: 7

Misal

Aşağıdaki örnek, yaşı başlatmadan kullanır , bu nedenle derleme sırasında bir hata verir.

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();
   }
}

Bu, onu derlerken aşağıdaki hatayı üretecektir -

Çıktı

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

Örnek değişkenler

  • Örnek değişkenleri bir sınıfta, ancak bir yöntem, yapıcı veya herhangi bir bloğun dışında bildirilir.

  • Yığın içindeki bir nesne için bir alan tahsis edildiğinde, her örnek değişken değeri için bir yuva yaratılır.

  • Örnek değişkenler, bir nesne 'yeni' anahtar kelimesinin kullanılmasıyla yaratıldığında oluşturulur ve nesne yok edildiğinde yok edilir.

  • Örnek değişkenleri, birden fazla yöntem, yapıcı veya blok tarafından veya bir nesnenin durumunun sınıf boyunca mevcut olması gereken temel kısımları tarafından başvurulması gereken değerleri tutar.

  • Örnek değişkenler, kullanımdan önce veya sonra sınıf düzeyinde bildirilebilir.

  • Örnek değişkenler için erişim değiştiriciler verilebilir.

  • Örnek değişkenleri, sınıftaki tüm yöntemler, yapıcılar ve blok için görülebilir. Normalde, bu değişkenlerin özel yapılması önerilir (erişim seviyesi). Ancak, erişim değiştiricileri kullanılarak bu değişkenler için alt sınıflar için görünürlük verilebilir.

  • Örnek değişkenlerinin varsayılan değerleri vardır. Sayılar için varsayılan değer 0'dır, Booleans için yanlıştır ve nesne başvuruları için boştur. Değerler, bildirim sırasında veya kurucu içinde atanabilir.

  • Örnek değişkenlere, sınıf içindeki değişken adı çağrılarak doğrudan erişilebilir. Ancak, statik yöntemler içinde (örnek değişkenlere erişilebilirlik verildiğinde), tam olarak nitelenmiş ad kullanılarak çağrılmalıdırlar. ObjectReference.VariableName .

Misal

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();
   }
}

Bu, aşağıdaki sonucu verecektir -

Çıktı

name  : Ransika
salary :1000.0

Sınıf / Statik Değişkenler

  • Statik değişkenler olarak da bilinen sınıf değişkenleri, bir sınıfta, ancak bir yöntem, yapıcı veya bloğun dışında statik anahtar sözcükle bildirilir.

  • Her sınıf değişkeninden kaç tane nesne oluşturulduğuna bakılmaksızın, her sınıf değişkeninin yalnızca bir kopyası olacaktır.

  • Statik değişkenler, sabit olarak bildirilmekten başka nadiren kullanılır. Sabitler, genel / özel, nihai ve statik olarak bildirilen değişkenlerdir. Sabit değişkenler asla başlangıç ​​değerlerinden değişmez.

  • Statik değişkenler statik bellekte saklanır. Son olarak bildirilen ve genel veya özel sabitler olarak kullanılandan başka statik değişkenlerin kullanılması nadirdir.

  • Statik değişkenler, program başladığında oluşturulur ve program durduğunda yok edilir.

  • Görünürlük, örnek değişkenlerine benzer. Bununla birlikte, çoğu statik değişken, sınıfın kullanıcıları için erişilebilir olmaları gerektiğinden genel olarak bildirilir.

  • Varsayılan değerler, örnek değişkenlerle aynıdır. Sayılar için varsayılan değer 0'dır; Booleans için yanlıştır; ve nesne referansları için boştur. Değerler, bildirim sırasında veya kurucu içinde atanabilir. Ek olarak, değerler özel statik başlatıcı bloklarında atanabilir.

  • Statik değişkenlere ClassName.VariableName sınıf adıyla çağrı yapılarak erişilebilir .

  • Sınıf değişkenlerini genel statik son olarak bildirirken, değişken adlarının (sabitler) tümü büyük harftir. Statik değişkenler genel ve nihai değilse, adlandırma sözdizimi, örnek ve yerel değişkenlerle aynıdır.

Misal

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);
   }
}

Bu, aşağıdaki sonucu verecektir -

Çıktı

Development average salary:1000

Note - Değişkenlere dışarıdan bir sınıftan erişiliyorsa, sabite Çalışan olarak erişilmelidir.

Sırada ne var?

Bu bölümde zaten erişim değiştiricileri (genel ve özel) kullandınız. Bir sonraki bölüm Erişim Değiştiricileri ve Erişim Dışı Değiştiricileri ayrıntılı olarak açıklayacaktır.