Fangen wir gleich mit ein paar Beispielen an:
3 // Ein Integer mit 32 Bit //res0: Int = 3 3.1 // Ein Double mit 64 Bit //res1: Double = 3.1 3f // Ein Float mit 32 Bit //res2: Float = 3.0 3L // Ein Long mit 64 Bit //res3: Long = 3 010 // Ein Integer mit 32 Bit in der Oktalschreibweise //res4: Int = 8 0xFF // Ein Integer mit 32 Bit in der Hexadecimalschreibweise //res5: Int = 255 3.1E-5 // Ein Double mit 64 Bit in der wissenschaftlicher Schreibweise //res6: Double = 3.1E-5
In Scala ist alles ein Objekt. Scala kennt die folgenden numerischen Typen.
| Name | Bits | Type | Wertebereich |
|---|---|---|---|
| Boolean | 1 | Boolean | true oder false |
| Byte | 8 | Integer | -128 bis 127 inklusive |
| Short | 16 | Integer | -32.768 to 32.767 inklusive |
| Int | 32 | Integer | -2.147.483.648 to 2.147.483.647 inklusive |
| Long | 64 | Integer | -2^63 to 2^63-1, inklusive |
| Float | 32 | Float | IEEE 754 single-precision float |
| Double | 64 | Float | IEEE 754 double-precision float |
Nach den doch recht theoretischen Zahlen schauen wir uns mal die Strings an:
"Hallo Welt!" // Ein Unicode String // res0: java.lang.String = Hallo Welt! 'C' // Ein 16 Bit Charakter // res1: Char = C """Ich bin ein multiline | String!""" //res2: java.lang.String = //Ich bin ein multiline // String!
Es gibt in Scala also Multiline Strings. Das Ergebnis dürfte aber nicht das sein was man davon erwartet. Die gute Nachricht ist, dass es auch eine Möglichkeit gibt Multiline Strings 'schön' zu machen:
"""|Weiterer multiline |String!""".stripMargin //res3: String = //Weiterer multiline //String!
Mit den Pipezeichen('|') gibt man an wo der String anfangen soll. Das stringMargin schiebt den String dann an die richtige Stelle.