Scala - Variablen

Variablen sind nichts anderes als reservierte Speicherplätze zum Speichern von Werten. Dies bedeutet, dass Sie beim Erstellen einer Variablen Speicherplatz im Speicher reservieren.

Basierend auf dem Datentyp einer Variablen weist der Compiler Speicher zu und entscheidet, was im reservierten Speicher gespeichert werden kann. Durch Zuweisen verschiedener Datentypen zu Variablen können Sie daher Ganzzahlen, Dezimalstellen oder Zeichen in diesen Variablen speichern.

Variable Aussage

Scala hat eine andere Syntax zum Deklarieren von Variablen. Sie können als Wert definiert werden, dh als Konstante oder als Variable. Hier wird myVar mit dem Schlüsselwort var deklariert. Es ist eine Variable, die den Wert ändern kann, und dies wird aufgerufenmutable variable. Im Folgenden finden Sie die Syntax zum Definieren einer Variablen mithilfe vonvar Schlüsselwort -

Syntax

var myVar : String = "Foo"

Hier wird myVal mit dem Schlüsselwort val deklariert. Dies bedeutet, dass es sich um eine Variable handelt, die nicht geändert werden kann, und die aufgerufen wirdimmutable variable. Im Folgenden finden Sie die Syntax zum Definieren einer Variablen mit dem Schlüsselwort val:

Syntax

val myVal : String = "Foo"

Variable Datentypen

Der Typ einer Variablen wird nach dem Variablennamen und vor dem Gleichheitszeichen angegeben. Sie können jeden Typ von Scala-Variablen definieren, indem Sie den Datentyp wie folgt angeben:

Syntax

val or val VariableName : DataType = [Initial Value]

Wenn Sie einer Variablen keinen Anfangswert zuweisen, gilt dieser wie folgt:

Syntax

var myVar :Int;
val myVal :String;

Variable Typinferenz

Wenn Sie einer Variablen einen Anfangswert zuweisen, kann der Scala-Compiler den Typ der Variablen anhand des ihr zugewiesenen Werts ermitteln. Dies wird als Inferenz vom Variablentyp bezeichnet. Daher können Sie diese Variablendeklarationen folgendermaßen schreiben:

Syntax

var myVar = 10;
val myVal = "Hello, Scala!";

Hier ist myVar standardmäßig vom Typ Int und myVal wird zur Variablen vom Typ String.

Mehrere Aufgaben

Scala unterstützt mehrere Aufgaben. Wenn ein Codeblock oder eine Methode ein Tupel zurückgibt (Tuple- Enthält eine Sammlung von Objekten unterschiedlichen Typs.) Das Tupel kann einer Val-Variablen zugewiesen werden. [Note - Wir werden Tupel in den folgenden Kapiteln studieren.]

Syntax

val (myVar1: Int, myVar2: String) = Pair(40, "Foo")

Und die Typinferenz macht es richtig -

Syntax

val (myVar1, myVar2) = Pair(40, "Foo")

Beispielprogramm

Das folgende Beispielprogramm erläutert den Prozess der Variablendeklaration in Scala. Dieses Programm deklariert vier Variablen - zwei Variablen werden mit Typdeklaration definiert und die restlichen zwei sind ohne Typdeklaration.

Beispiel

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);
   }
}

Speichern Sie das obige Programm in Demo.scala. Die folgenden Befehle werden zum Kompilieren und Ausführen dieses Programms verwendet.

Befehl

\>scalac Demo.scala
\>scala Demo

Ausgabe

10
Hello Scala with datatype declaration.
20
Hello Scala without datatype declaration.

Variabler Umfang

Variablen in Scala können je nach Verwendungsort drei verschiedene Bereiche haben. Sie können als Felder, als Methodenparameter und als lokale Variablen existieren. Nachfolgend finden Sie die Details zu den einzelnen Bereichstypen.

Felder

Felder sind Variablen, die zu einem Objekt gehören. Auf die Felder kann von jeder Methode im Objekt aus zugegriffen werden. Auf Felder kann auch außerhalb des Objekts zugegriffen werden, je nachdem, mit welchen Zugriffsmodifikatoren das Feld deklariert ist. Objektfelder können sowohl veränderbare als auch unveränderliche Typen sein und mit beiden definiert werdenvar oder val.

Methodenparameter

Methodenparameter sind Variablen, mit denen der Wert innerhalb einer Methode übergeben wird, wenn die Methode aufgerufen wird. Auf Methodenparameter kann nur innerhalb der Methode zugegriffen werden. Auf die übergebenen Objekte kann jedoch auch von außen zugegriffen werden, wenn Sie von außerhalb der Methode auf das Objekt verweisen. Methodenparameter sind immer unveränderlich, die durch definiert sindval Stichwort.

Lokale Variablen

Lokale Variablen sind Variablen, die innerhalb einer Methode deklariert sind. Auf lokale Variablen kann nur innerhalb der Methode zugegriffen werden. Die von Ihnen erstellten Objekte können jedoch der Methode entkommen, wenn Sie sie von der Methode zurückgeben. Lokale Variablen können sowohl veränderbare als auch unveränderliche Typen sein und mit beiden definiert werdenvar oder val.