Scala - Veri Türleri
Scala, Java ile aynı veri türlerine sahiptir ve aynı bellek alanı ve hassasiyete sahiptir. Aşağıda, Scala'da bulunan tüm veri türleri hakkında ayrıntılı bilgi veren tablo bulunmaktadır -
Sr.No | Veri Türü ve Açıklaması |
---|---|
1 | Byte 8 bitlik işaretli değer. -128 ila 127 aralığı |
2 | Short 16 bitlik işaretli değer. -32768 ila 32767 aralığı |
3 | Int 32 bitlik işaretli değer. -2147483648 ile 2147483647 aralığı |
4 | Long 64 bit işaretli değer. -9223372036854775808 ile 9223372036854775807 |
5 | Float 32 bit IEEE 754 tek duyarlıklı kayan nokta |
6 | Double 64 bit IEEE 754 çift hassas şamandıra |
7 | Char 16 bit işaretsiz Unicode karakter. U + 0000 ila U + FFFF aralığı |
8 | String Karakter dizisi |
9 | Boolean Ya gerçek doğru ya da gerçek yanlış |
10 | Unit Hiçbir değere karşılık gelmez |
11 | Null boş veya boş başvuru |
12 | Nothing Diğer tüm türlerin alt türleri; değer içermez |
13 | Any Her türden süper tip; herhangi bir nesnenin türü Herhangi |
14 | AnyRef Herhangi bir referans türünün süper türü |
Yukarıda listelenen tüm veri türleri nesnelerdir. Java'daki gibi ilkel türler yoktur. Bu, yöntemleri bir Int, Long, vb. Üzerinde çağırabileceğiniz anlamına gelir.
Scala Basic Literals
Scala'nın değişmez bilgiler için kullandığı kurallar basit ve sezgiseldir. Bu bölüm, tüm temel Scala Değişmezlerini açıklar.
İntegral Değişmezler
Tamsayı değişmez değerleri genellikle Int türündedir veya L veya l son eki takip ettiğinde Long türündedir. İşte bazı tamsayı değişmezleri -
0
035
21
0xFFFFFFFF
0777L
Kayan Nokta Değişmez Değeri
Kayan nokta değişmezleri, ardından kayan nokta türü sonek F veya f geldiğinde Float türündedir ve aksi takdirde Double türündedir. İşte bazı kayan nokta değişmez değerleri -
0.0
1e30f
3.14159f
1.0e100
.1
Boole Edebiyatları
Boole değişmez değerleri true ve false Boolean türünün üyeleridir.
Sembol Değişmezleri
Bir sembol değişmezi 'x, ifadenin kısaltmasıdır scala.Symbol("x"). Symbol, aşağıdaki gibi tanımlanan bir durum sınıfıdır.
package scala
final case class Symbol private (name: String) {
override def toString: String = "'" + name
}
Karakter Değişmezleri
Bir karakter değişmezi, tırnak içine alınmış tek bir karakterdir. Karakter, yazdırılabilir bir Unicode karakteridir veya bir kaçış dizisi ile tanımlanır. İşte bazı karakter değişmezleri -
'a'
'\u0041'
'\n'
'\t'
Dize Değişmezleri
Dize değişmezi, çift tırnak içindeki karakter dizisidir. Karakterler ya yazdırılabilir Unicode karakteridir ya da kaçış dizileriyle tanımlanmıştır. İşte bazı değişmez dizeler -
"Hello,\nWorld!"
"This string contains a \" character."
Çok Satırlı Dizeler
Çok satırlı bir dizge, üç tırnak işareti "" "..." "" içine alınmış bir karakter dizisidir. Karakter dizisi, yalnızca en sonunda üç veya daha fazla ardışık tırnak işareti içermesi dışında gelişigüzeldir.
Karakterlerin mutlaka yazdırılabilir olması gerekmez; yeni satırlara veya diğer kontrol karakterlerine de izin verilir. İşte çok satırlı bir dize değişmezi -
"""the present string
spans three
lines."""
Boş Değerler
Boş değer türünde scala.Nullve bu nedenle her referans türü ile uyumludur. Özel bir "boş" nesneyi ifade eden bir referans değerini belirtir.
Kaçış dizileri
Aşağıdaki kaçış dizileri karakter ve dize değişmezlerinde tanınır.
Kaçış dizileri | Unicode | Açıklama |
---|---|---|
\ b | \ u0008 | backspace BS |
\ t | \ u0009 | yatay sekme HT |
\ n | \ u000c | formfeed FF |
\ f | \ u000c | formfeed FF |
\ r | \ u000d | satır başı CR |
\ " | \ u0022 | çift tırnak " |
\ ' | \ u0027 | tek alıntı . |
\\ | \ u005c | ters eğik çizgi \ |
0 ile 255 arasında Unicode'a sahip bir karakter ayrıca sekizlik kaçış ile, yani bir ters eğik çizgi '\' ve ardından üç sekizlik karaktere kadar bir dizi ile temsil edilebilir. Aşağıda, birkaç kaçış dizisi karakterini gösteren örnek verilmiştir -
Misal
object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
Çıktı
Hello World