Visual Basic: Wann verwende ich Integer, Double oder String?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Welche Datentypen ein Programmierer verwendet (Standardtypen oder durch ihn selbst deklarierte Klassen) entscheidet immer er selbst mit dem Ziel, seinen Code insgesamt möglichst einfach, effizient und gut verständlich zu halten. Die Kunst, sich hierin richtig zu entscheiden, ist wesentlicher Teil der Kunst des Programmierens.

Je nach dem, was deine Variable speichern und machen soll brauchst du verschiedene Datentypen.

  • Ein Integer speichert Ganzzahlen von −2.147.483.648 bis 2.147.483.647 (jedenfalls ein Int32). Er ist also ideal für Zahlen mit denen du rechnen willst, die aber ganzzahlig sind, also keine Stellen hinter dem Komma haben. Wenn du einen Integer hast könnte dieser also nicht das Ergebnis aus 20/13 speichern.
  • Ein Double speichert auch Zahlen, allerdings Fließkommazahlen, also kann die Zahl auch Stellen nach dem Komma haben. Ideal ist ein Double für komplexere Rechnungen, bei denen das Ergebnis eben auch keine Ganzzahl sein muss.
  • Ein String ist eine Zeichenkette, speichert also nicht nur Zahlen sondern auch andere Zeichen. Du kannst also auch Wörter und Sätze in Strings speichern.

Verschiedene Datentypen haben natürlich auch verschiedene Methoden. Einen String kannst du beispielsweise relativ einfach bei bestimmten Zeichen trennen oder etwas vom Inhalt wegschneiden oder hinzufügen. Mit Integern und Doublen kann dafür gerechnet werden. Typische Beispiele für die Verwendung der verschiedenen Datentypen (ist kein VB aber ich hoffe das Prinzip wird klar) :

String vorname = "Irgendein Vorname"
String nachname = "Irgendein Nachname"
String name = vorname + " " + nachname

Int alter = 23
Int alter_in_5_jahren = alter + 10

Double pi = 3,1416
Double rad = 2,5
Double area = rad * rad * pi
Woher ich das weiß:Hobby – Programmiere seit eineinhalb Jahren

Je nachdem was die Variable erfüllen soll, brauchst du verschiedene Variablen.

  • Integer speichert nur ganze Zahlen. Also ideal für Zähler.
  • Double speichert Fließkommazahlen, also ideal für Rechnungen.
  • String speichert Zeichenketten. Also ideal für Texte.

Natürlich kannst du in Strings auch Zahlen speichern. Aber ohne Umwandlungs-Funktionen dann nicht einfach inkrementieren oder rechnen mit diesen Werten. Diese Umrechnungen sehen im Code einerseits unschön aus, sind aber auch für den Programmablauf rechenintensiver. Das macht bei kleinen Programmen kaum einen Unterschied, aber sobald du mal Spiele (also bspw. C# mti der Unity Engine) programmierst, hat das eine maßgebliche Auswirkung darauf ob dein Spiel performant läuft oder nicht.

Auch die Speichernutzung muss optimiert werden. Es gibt bei den meisten Programmiersprachen auch die Möglichkeit die Byte-Längen von Variablentypen wie Integer festzulegen. Warum macht man das? Klar, weil für jede Variable Speicher reserviert werden muss. Ein absichtlicher kleiner deklarierter Tiny-Integer der sich nur Zahlen von 0-255 merken kann (1 Byte Integer) braucht deutlich weniger Arbeitsspeicher als der typische Standard-Integer (meist 4 Byte wenn ich mich recht entsinne). Wie schon bei der Performance, das macht natürlich erst was aus, wenn du große Projekte stämmst. Vorallem, wenn im Rahmen eines Programms iterativ Variablen dynamisch erzeugt werden. Da kann die Arbeitsspeicherauslastung bei Stresstests unheimlich hoch hinaus gehen.

Effizienz ist das Zauberwort, dem Arbeitsspeicher, der Anwendbarkeit und der Perfromance zuliebe. Daher wende die Regel immer die passende Variable und Länge zu deklarieren auch bei kleinen Projekten an, damit du bei großen Projekten das schon im Blut hast.

Bei den Zahlenwerten nutz man Integer, wenn es sicher ist, dass man keine Nachkommastellen benötigt und auch keine haben möchte.

Double nutzt man, wenn man Gleitkomma-Zahlen benötigt, also Zahlen wie 3,5 oder 3,1415926. Also schon bei Bezahlwerten würde Double benötigt, um 3,50€ darstellen zu können.

Eine String-Variable hat die Möglichkeit, einen Text zu speichern, im Normalfall einen einzeiligen Text. Der Text kann zwar auch 3,50 lauten, aber es sind die Zeichen, die hintereinander stehen, so kann der String auch "Sie bezahlen 3,5€" lauten.

Es gibt in Visual Basic weitere Datentypen, Variant ist ein Datentyp, der alles aufnehmen kann, bei der Zuweisung wird automatisch gewählt, was rein soll.

Mit Strukturen kann man sich eigene Datentypen erzeugen, die dann mehr als einen Wert aufnehmen können, der z.B. aus einem String, einem Integer und einem Boolean besteht.

Integer verwendest du am ganz Zahlen zu speichern, Beispiel mit pseudo Code:

integer number = 1;

ein String verwendest du um Zeichenketten zu speichern:

string zeichenkette = "Hallo, das ist ein String";

Ein float verwendest du um Dezimalzahlen zu speichern:

float dezimal = 35,38;

Ein double verwendest du um präzisere Dezimahlzahlen zu speichern:

double dezimal2 = 35,379478398473908

double wird eher seltener gebraucht als float, von daher ist es besser ein float zu verwenden, da diese auch weniger Speicher brauchen.