Menu

Java'da Değişkenler: Tanımlama, Atama ve Kapsam Açıklaması

Java'da değişkenler nasıl çalışır: bir tür ile tanımlama, değer atama, adlandırma kuralları, var anahtar kelimesi, final ile sabitler ve bir değişkenin nerede yaşadığını belirleyen kapsam kuralları.

Bu sayfada çalıştırılabilir editörler var - düzenle, çalıştır ve sonucu anında gör.

Değişken Nedir

Değişken, bir değeri tutan adlandırılmış bir kutudur. Java'da her değişkenin sabit bir türü vardır - tanımlandığı anda belirlenir - ve bu tür asla değişmez. Java'yı statik türlü yapan şey budur: derleyici, program çalışmadan önce her değişkenin türünü bilir ve bir kutuya yanlış türde bir değer koyan kodu derlemeyi reddeder.

Bir tanımlamanın üç parçası vardır: tür, ad ve (genellikle) bir başlangıç değeri.

int age = 30; ifadesini "age adında bir int oluştur ve içine 30 koy" şeklinde okuyun. Noktalı virgül, yorumlar sayfasında her ifadenin yaptığını gösterdiği gibi, ifadeyi sonlandırır.

Şimdi Tanımla, Sonra Ata

Bir tanımlamayı ilk atamasından ayırabilirsiniz. Tür yalnızca bir kez, tanımlamada gelir; bundan sonra yalnızca ad ve = kullanarak atarsınız:

Yeni başlayanların ayağını kaydıran bir kural: yerel bir değişkene onu okumadan önce bir değer atamalısınız. Derleyici bunu takip eder ve başlatılmamış bir yerel değişkeni okuyan kodu reddeder:

int score;
System.out.println(score);   // compile error: variable score might not have been initialized

Bu bir rahatsızlık değil, bir özelliktir - program daha çalışmadan önce bir hata sınıfının tamamını yakalar.

Adlandırma Kuralları ve Gelenekleri

Java birkaç katı kural dayatır, sonra bunların üzerine gelenekler ekler. Kurallar: bir ad harfler, rakamlar, _ ve $ içerebilir, ancak bir rakamla başlayamaz, ayrılmış bir anahtar kelime (int veya class gibi) olamaz ve büyük/küçük harfe duyarlıdır (age ve Age iki farklı değişkendir).

Herkesin uyduğu gelenekler:

  • Değişkenler ve metotlar camelCase kullanır: firstName, totalScore.
  • Sabitler UPPER_SNAKE_CASE kullanır: MAX_USERS.
  • Adlar değeri tarif etmelidir: c değil count; x değil userEmail.

Açık adlar süs değildir - gelecekteki sizin kodu nasıl okuyacağınızdır. totalPrice = itemCount * pricePerItem, t = c * p'nin asla olamayacağı bir şekilde kendini açıklar.

Tür Güvenliği: Kutu Türünü Korur

Tür tanımlamada kilitlendiği için, bir değişkene yanlış türde bir değer koyamazsınız. Bu, hataları derleme zamanında yakalar:

int age = 30;
age = "thirty";   // compile error: incompatible types - String cannot become int

Sayı türleri arasında atama, genişletme (widening) kurallarını izler - daha küçük bir tür otomatik olarak daha büyük bir türe akar, ancak tersi olmaz. Bunu veri türleri ve tür dönüştürme sayfalarında tüm ayrıntılarıyla ele alacağız; şimdilik derleyicinin izlediğini bilmeniz yeterli.

var Anahtar Kelimesi

Java 10'dan itibaren, türün yerine var yazabilir ve derleyicinin onu sağdaki değerden çıkarmasına izin verebilirsiniz:

var dinamik türleme değildir - name, sanki String name yazmışsınız kadar String'tir ve daha sonra ona yine bir int atayamazsınız. Yalnızca yazımdan tasarruf sağlar. İşin püf noktası: var, çıkarım yapmak için bir başlatıcıya ihtiyaç duyar, bu yüzden var x; geçersizdir ve yalnızca yerel değişkenler için çalışır - alanlar, metot parametreleri veya dönüş türleri için asla. Türün sağ taraftan açıkça belli olduğu yerlerde kullanın; netlik kattığı durumlarda türü açık yazın.

final ile Sabitler

Bir değer ayarlandıktan sonra asla değişmemesi gerektiğinde, onu final olarak işaretleyin. Onu yeniden atamaya yönelik her türlü girişim bir derleme hatasına dönüşür:

final, niyeti iletir ("bu sabit bir değerdir") ve derleyicinin sizin yerinize onu korumasını sağlar. Bir değer kavramsal olarak bir sabitse - oranlar, sınırlar, yapılandırma anahtarları - ona başvurun; böylece yanlışlıkla yapılan bir yeniden atama, sessizce bir hata olarak yayınlanmak yerine yakalanır.

Değişken Kapsamı

Bir değişken yalnızca tanımlandığı blok - yani { ... } - içinde var olur ve kapanış süslü parantezinde ölür. Bu onun kapsamıdır. Bir döngü veya if bloğu içinde tanımlanan bir değişken, dışarıdan görünmez:

Hem i hem de square döngüye aittir ve döngü bittiğinde kaybolur; total ise dış blokta tanımlandığı için varlığını sürdürür. Pratik çıkarım: her değişkeni ona ihtiyaç duyan en küçük blokta tanımlayın. Dar kapsam, dikkatiniz için yarışan daha az ad ve bir değeri ayarlandığı yerden uzakta yanlış kullanma ihtimalinin azalması demektir.

Sonraki: Veri Türleri

Bu sayfadaki her değişken bir türle başladı - int, double, String, boolean. Bir sonraki sayfa Java'nın veri türlerini ayrıntılı olarak inceliyor: sekiz ilkel tür, her birinin boyutu, ilkeller ile nesneler arasındaki fark ve hangi türü ne zaman tercih etmeniz gerektiği.

Sıkça Sorulan Sorular

Java'da bir değişken nasıl tanımlanır?

Önce türü, sonra bir adı yazın ve isteğe bağlı olarak bir değer atayın: int age = 30;. Tür (int) değişkenin ömrü boyunca sabittir; ad (age) ise ona nasıl atıfta bulunduğunuzdur. Bunu bir tanımlama ve sonradan bir atama olarak ayırabilirsiniz - int age; age = 30; - ancak yerel bir değişkeni okumadan önce ona mutlaka bir değer atamanız gerekir.

Java'da var anahtar kelimesi nedir?

Java 10'dan itibaren var, derleyicinin yerel bir değişkenin türünü atadığınız değerden çıkarmasına olanak tanır: var name = "Ada"; ifadesi name'i bir String yapar. Yine de statik türlüdür - tür çalışma zamanında değil, derleme zamanında sabitlenir, dinamik değildir. var yalnızca başlatıcısı olan yerel değişkenler için çalışır; alanlar, parametreler veya başlatılmamış tanımlamalar için asla kullanılamaz.

Java'da bir sabit nasıl oluşturulur?

final anahtar kelimesini ekleyin: final double PI = 3.14159;. Bir kez atandıktan sonra final bir değişken yeniden atanamaz - derleyici her türlü girişimi reddeder. Geleneksel olarak sabitler, sıradan değişkenlerden ayırt edilebilsinler diye UPPER_SNAKE_CASE biçiminde yazılır.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA