Scala - Değişkenler
Değişkenler, değerleri saklamak için ayrılmış bellek konumlarından başka bir şey değildir. Bu, bir değişken oluşturduğunuzda bellekte biraz yer ayırdığınız anlamına gelir.
Bir değişkenin veri türüne bağlı olarak, derleyici belleği ayırır ve ayrılmış bellekte nelerin saklanabileceğine karar verir. Bu nedenle, değişkenlere farklı veri türleri atayarak, bu değişkenlerde tamsayıları, ondalık sayıları veya karakterleri saklayabilirsiniz.
Değişken Beyanı
Scala, değişkenleri bildirmek için farklı bir sözdizimine sahiptir. Değer olarak, yani sabit veya değişken olarak tanımlanabilirler. Burada myVar, var anahtar sözcüğü kullanılarak bildirilir. Değeri değiştirebilen bir değişkendir ve bunamutable variable. Aşağıdakileri kullanarak bir değişken tanımlamak için sözdizimivar anahtar kelime -
Sözdizimi
var myVar : String = "Foo"
Burada myVal, val anahtar sözcüğü kullanılarak bildirilir. Bu, değiştirilemeyen bir değişken olduğu anlamına gelir ve buna denirimmutable variable. Val anahtar kelimesini kullanarak bir değişkeni tanımlamak için sözdizimi aşağıdadır -
Sözdizimi
val myVal : String = "Foo"
Değişken Veri Türleri
Bir değişkenin türü, değişken adından sonra ve eşittir işaretinden önce belirtilir. Herhangi bir Scala değişkenini, veri tipini aşağıdaki gibi belirterek tanımlayabilirsiniz -
Sözdizimi
val or val VariableName : DataType = [Initial Value]
Bir değişkene herhangi bir başlangıç değeri atamazsanız, aşağıdaki gibi geçerlidir -
Sözdizimi
var myVar :Int;
val myVal :String;
Değişken Tip Çıkarımı
Bir değişkene bir başlangıç değeri atadığınızda, Scala derleyicisi değişkenin türünü kendisine atanan değere göre bulabilir. Buna değişken tür çıkarımı denir. Bu nedenle, bu değişken bildirimlerini şöyle yazabilirsiniz -
Sözdizimi
var myVar = 10;
val myVal = "Hello, Scala!";
Burada, varsayılan olarak, myVar Int tipi olacak ve myVal, String tipi değişkeni olacaktır.
Birden çok ödev
Scala birden çok atamayı destekler. Bir kod bloğu veya yöntem bir Tuple (Tuple- Farklı türdeki Nesnelerin koleksiyonunu tutar), Tuple bir val değişkenine atanabilir. [Note - Sonraki bölümlerde Tuples üzerinde çalışacağız.]
Sözdizimi
val (myVar1: Int, myVar2: String) = Pair(40, "Foo")
Ve tür çıkarımı doğru anlıyor -
Sözdizimi
val (myVar1, myVar2) = Pair(40, "Foo")
Örnek Program
Aşağıda, Scala'da değişken bildirimi sürecini açıklayan örnek bir program yer almaktadır. Bu program dört değişken bildirir - iki değişken tür bildirimi ile tanımlanır ve kalan ikisi tür bildirimi içermez.
Misal
object Demo {
def main(args: Array[String]) {
var myVar :Int = 10;
val myVal :String = "Hello Scala with datatype declaration.";
var myVar1 = 20;
val myVal1 = "Hello Scala new without datatype declaration.";
println(myVar); println(myVal); println(myVar1);
println(myVal1);
}
}
Yukarıdaki programı şuraya kaydedin: Demo.scala. Bu programı derlemek ve çalıştırmak için aşağıdaki komutlar kullanılır.
Komut
\>scalac Demo.scala
\>scala Demo
Çıktı
10
Hello Scala with datatype declaration.
20
Hello Scala without datatype declaration.
Değişken Kapsam
Scala'daki değişkenler, kullanıldıkları yere bağlı olarak üç farklı kapsama sahip olabilir. Alanlar, yöntem parametreleri ve yerel değişkenler olarak var olabilirler. Her kapsam türü ile ilgili ayrıntılar aşağıdadır.
Alanlar
Alanlar, bir nesneye ait değişkenlerdir. Alanlara, nesnedeki her yöntemin içinden erişilebilir. Alanlar, alanın hangi erişim değiştiricilerle bildirildiğine bağlı olarak nesnenin dışında da erişilebilir olabilir. Nesne alanları hem değiştirilebilir hem de değiştirilemez türler olabilir ve her ikisinden biri kullanılarakvar veya val.
Yöntem Parametreleri
Yöntem parametreleri, yöntem çağrıldığında bir yöntem içindeki değeri iletmek için kullanılan değişkenlerdir. Yöntem parametrelerine yalnızca yöntemin içinden erişilebilir, ancak nesneye yöntemin dışından bir başvurunuz varsa, içeri aktarılan nesnelere dışarıdan erişilebilir. Yöntem parametreleri her zaman değişmezdir,val anahtar kelime.
Yerel Değişkenler
Yerel değişkenler, bir yöntem içinde bildirilen değişkenlerdir. Yerel değişkenlere yalnızca yöntemin içinden erişilebilir, ancak oluşturduğunuz nesneler, onları yöntemden döndürürseniz yöntemden kaçabilir. Yerel değişkenler hem değiştirilebilir hem de değiştirilemez tipte olabilir ve her ikisinden biri kullanılarak tanımlanabilirvar veya val.