1. Sabitler
Diğer birçok programlama dilinde sabitler , yani değerleri değiştirilemeyen değişkenler bulunur . Pi
Genellikle, yılın aylarındaki günlerin sayısı veya sayısı gibi bazı temel şeyler için kullanılırlar . Bununla birlikte, ilke olarak, bir programcı gerekli olduğuna karar verirse herhangi bir değişkeni sabit yapabilir.
Peki Java'da değişmez bir değişkeni (sabit) nasıl ilan edersiniz? Bunun için özel bir anahtar kelime var: final
. Değişmez bir değişken oluşturmak, sıradan bir değişken oluşturmakla aynı görünür. Tek fark, değişkenin türünden önce kelimeyi final
şu şekilde yazmanız gerektiğidir:
final Type name = value;
Bir değişkene farklı bir değer atamaya çalışırsanız final
, programınız derlenmez.
Bir final
değişken, bildirildiğinde başlatılmalıdır (ona bir değer atanmalıdır). Bu kuralın bir istisnası vardır: statik bir sınıf değişkeninin başlatmasını bir yapıcıya taşıyabilirsiniz. Ancak bunu Seviye 10'da öğreneceksiniz .
Anahtar sözcük sayısını azaltmak için, Java geliştiricileri sözcüğü final
yalnızca sabitleri bildirmekten daha fazlası için kullanırlar. final
yöntemlere ve hatta sınıflara da uygulanabilir. olarak bildirilen yöntemler final
geçersiz kılınamaz ve olarak bildirilen bir sınıf final
miras alınamaz.
Değiştirici final
herhangi bir değişkenden önce eklenebilir: yerel değişkenler, yöntem parametreleri, sınıf alanları ve statik sınıf değişkenleri.
final
Bir değişken adından önce, yalnızca o değişkende yapılacak herhangi bir değişikliğe karşı koruma olduğunu unutmayın . Bir değişken, bir nesneye referans saklıyorsa, nesne yine de değiştirilebilir.
Örnek:
|
Bir dizi oluşturuyoruz. Buna izin verilmez: değişken data olarak bildirilir final . Ama bunu yapabilirsin. Ve ayrıca bu. |
genel sabitler
Programınızda genel sabitler bildirmeye karar verirseniz, statik sınıf değişkenleri oluşturmanız ve bunları public
ve yapmanız gerekir final
. Bu tür değişkenlerin adları için özel bir stil vardır: tümü büyük harflerle yazılır ve sözcükleri ayırmak için alt çizgi kullanılır.
Örnekler:
class Solution
{
public static final String SOURCE_ROOT = "c:\\projects\\my\\";
public static final int DISPLAY_WIDTH = 1024;
public static final int DISPLAY_HEIGHT = 768;
}
2. Değişken gölgeleme
Daha önce de söylediğimiz gibi, aynı metotta aynı ada sahip birden fazla yerel değişken oluşturamazsınız. Farklı yöntemlerle yapabilirsiniz.
Ancak muhtemelen bilmediğiniz şey şudur: örnek değişkenler ve yerel yöntem değişkenleri aynı ada sahip olabilir.
Örnek:
kod | Değişken görünürlük |
---|---|
|
|
Yöntemde add
, adında yerel bir değişken bildirdik sum
. Metodun sonuna kadar, örnek değişkeni gölgeler (veya maskeler ) sum
.
Tamam, diyorsunuz ki, bu bir anlamda beklenebilir. Ama bu hikayenin sonu değil. Bir örnek değişkeni yerel bir değişken tarafından gölgeleniyorsa, yine de yöntem içindeki örnek değişkenine atıfta bulunmanın bir yolu olduğu ortaya çıktı. this
Bunu, anahtar kelimeyi adından önce yazarak yaparız :
this.name
Ad çakışmasının başarıyla çözüldüğü bir örneği burada bulabilirsiniz:
kod | Değişken görünürlük |
---|---|
|
|
count
ve değişkenleri , anahtar kelime sum
olsun ya da olmasın her yerde kullanılabilir this
. sum
Yerel değişkenin örnek değişkeni gölgelediği satırlarda sum
, sum
örnek değişkene yalnızca anahtar kelime kullanılarak erişilebilir this
.
Örnek değişken yerine statik bir sınıf değişkeni gölgelenmişse, anahtar kelime yerine sınıf adına erişmeniz gerekir this
:
ClassName.name
Örnek:
kod | Değişken görünürlük |
---|---|
|
|
Sınıf adını önek olarak kullanarak veya kullanmadan, count
ve static değişkenlerine her yerden erişebilirsiniz . Yerel değişkenin örnek değişkeni gölgelediği satırlarda , örnek değişkene erişim yalnızca önek olarak kullanıldığında mümkündür .sum
Solution
sum
sum
sum
Solution
3. for
Döngü içindeki değişkenler
Ve bir küçük ama ilginç gerçek daha.
Bir değişkenin özel bir şekilde bildirildiği bir yer de vardır — bir for
döngü içinde .
Bir döngünün tipik olarak parantez içinde bir sayaç değişkeni olduğunu hatırlayabilirsiniz for
. Ve bu değişkenin görünürlüğü ne olacak? Sonuçta, döngünün gövdesinde değil. Tüm yöntem bu mu? Ya da değil?
Doğru cevap şudur : Bir for
döngünün başlığında bildirilen bir değişken, yalnızca döngünün gövdesinde ve döngününfor
başlığında görünür .
Örnek:
kod | Değişken görünürlük |
---|---|
|
|
Böylece, kodunuzda her zaman birbiri ardına döngüler yazabilir ve aynı ada sahip sayaç değişkenlerini kullanabilirsiniz - bu herhangi bir sorun yaratmaz.
Örnek:
kod | Değişken görünürlük |
---|---|
|
|
GO TO FULL VERSION