Numerische Datentypen
Die Funktion typeof() liefert den Typ eines Werts. Die 32-Bit-Version von Julia interpretiert ganzzahlige Literale als 32-Bit-Zahlen, sofern sie in diesen Wertebereich hineinpassen. Die Funktionen typemin() und typemax() geben Auskunft über die Grenzen des Wertebereichs jedes numerischen Datentyps oder eines seiner Vertreter. Die letzte Zeile in Listing 4 zeigt, dass Julia einen Überlauf nicht abfängt.
Listing 4
julia> typeof(3.14) Float64 julia> typeof(7) Int32 julia> typemax(7) 2147483647 julia> typeof(2147483648) Int64 julia> typemax(7) + 1 -2147483648
Andererseits gilt bei mathematischen Operationen mit Operanden unterschiedlichen Typs: Das Resultat ist immer vom Typ mit der höheren Genauigkeit beziehungsweise dem größeren Wertebereich (Listing 5).
Listing 5
julia> typeof(3 + 4.0) Float64 julia> typeof(2147483648 + 1) Int64
Für ganze Zahlen stehen Typen mit 8, 16, 32, 64 und 128 Bit bereit, jeweils mit oder ohne Vorzeichen. Vorzeichenlose Typen führen ein vorgestelltes U für “unsigned”, also etwa UInt8. Julia zeigt sie als hexadezimale Zahlen an (Listing 6). Für Gleitkommazahlen bietet Julia die Typen Float16, Float32 und Float64 an. Die Typen BigInt und BigFloat ermöglichen eine für den normalen Alltag praktisch unbegrenzte Genauigkeit.
Listing 6
julia> typemax(UInt8) 0xff julia> typemax(UInt16) 0xffff
Variablen und Konstruktoren
Julia ist wie Python eine dynamisch typisierte Sprache; die explizite Angabe des Typs einer Variablen ist nicht notwendig. Die Programmiersprache folgert den Typ aus dem zugewiesenen Ausdruck. Im Beispiel aus Listing 7 unterdrückt ein Semikolon die Ausgabe von Zwischenergebnissen.
Listing 7
julia> a = 1; julia> b = 2; julia> c = a + b 3
Möchten Sie explizit mit einem bestimmten Datentyp rechnen, erzeugen Sie Werte per Aufruf mit dem Konstruktor. Diese Konstruktoren eignen sich in vielen Fällen zum Umwandeln von Datentypen (Listing 8).
Listing 8
julia> unsig = UInt8(1) 0x01 julia> sig = Int8(unsig) 1
Dateien ausführen
Dateien mit Julia-Code speichern Sie mit der Endung .jl ab. Das Ausführen geschieht dann über das Kommando julia code.jl im Terminal. In dem Fall müssen Sie – anders als im interaktiven Modus – Ausgaben explizit vorgeben, etwa mit print() oder println().
Auf weitere Argumente auf der Kommandozeile neben dem Pfad oder Dateinamen greifen Sie über das Array ARGS im Programm zu. Listing 9 zeigt Code, der mittels einer For-Schleife sämtliche Argumente zeilenweise ausgibt.
Listing 9
for arg in ARGS println(arg) end





