Dart: Variablen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// DART-SPIELWIESE (Listing 1.1)

void main() {  // main(): Einstiegspunkt einer Dart-Anwendung
 
  print('Hallo Dart');
  // Info: es gibt in Dart KEINE char wie Java für einzelne Zeichen
  // alles ist quasi ein String wenn Anführungszeichen benutzt werden
 
  // einzeiliger Kommentar
 
  /*
   *
   *  mehrzeiliger Kommentar
   *
  */

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// DART-SPIELWIESE (Listing 1.1)

void main() {  // main(): Einstiegspunkt einer Dart-Anwendung
 
  print('Hallo Dart');
  // Info: es gibt in Dart KEINE char wie Java für einzelne Zeichen
  // alles ist quasi ein String wenn Anführungszeichen benutzt werden
 
  // einzeiliger Kommentar
 
  /*
   *
   *  mehrzeiliger Kommentar
   *
  */
 
  //
  // VARIABLEN (Container um Daten bzw. Werte abzulegen)
  //
  // in Dart werden Variablen mit dem Schlüsselwort var deklariert
 
  // Hinweis: wenn wir keinen Wert zuweisen
  // dann entscheidet Dart für uns bzw. machen die Variable "dynamic"
 
  var x;  // noch keinen Wert zugewiesen
  print(x);  // null (Variable OHNE Wert)
  // jederzeit den aktuellen Datenytyp einer Variable zur Laufzeit ausgeben
  print(x.runtimeType);  // Null (kein Datentyp festgelegt)
 
  // einer Variable einen Wert zuweisen: also initialisieren
  // Beispiel: y mit Wert 42 (also Ganzzahl bzw. int)
  var y = 42;  // int-Objekt
  print(y.runtimeType);  // int
 
  //print(z);  // undefined, also Error weil z vorher nicht definiert wurde
 
  // direkte Werte ausgeben an Konsole OHNE Zwischenweg über Variablen
  print(42);
  print('42');
 
  // Datentyp String
  // Beispiel Variable erzeugen namens "vorname" mit Wert "Peter"
  var vorname = 'Peter';
  print(vorname);
 
  // Spezialfall "dynamic" (Vorteil: Flexibilität)
  dynamic z;  // ohne Wertzuweisung
  z = 5;
  z = "Hugo";
  print(z);
  print(z.runtimeType);
  // per dynamic zur Laufzeit zB statt eines int-Wert einen String-Wert zuweisen
 
  // Hinweis: warum wird Datentyp "int" klein geschrieben
  // Historische Gründe, d.h. int ist zwar KEIN primitiver Datentyp
  // sondern ein Objekt der Klasse int, aber in Java nutzt man auch diese Schreibweise für int, double,...
 
  //int zahl = 7;
 
  //
  // DATENTYPEN
  //
 
  /*
   *  int       Ganzzahl                      5, -13, 0
   *  double    Fließkommazahl                3.14, -18.0, 13.999
   *  num       Numerisch                     3.14, 5
   *  (Kombi aus Ganz-und Kommazahl)
   *  bool      Boolean / Wahrheitswert       true, false
   *  String    Zeichenkette                  'Bob', "Pete"
   *  List      Liste mit mehren Elementen bzw. Array        ['Berlin', 'Hamburg', 55]
   *  Map       Schlüssel/Werte-Paare (key/value)     {'x':8, 'y':16}
   *  dynamic   jeder Typ (flexibel)
   *
  */
 
  // Beispiel mit num:
  num zahl = 5;
  zahl = 3.14;
  print(zahl);
 
  //double a;
 
  // leere Variablen erzeugen zu den jew. oben genannten Datentypen
  int alter;
  double gewicht;
  bool istOnline;  // camelCase-Schreibweise
  String name;
  List hobbies;
  Map json;
 
  dynamic ort = 'Hamburg';
  ort = 100;
 
}