Programmieren > Sprachen > Java

Java-Grundlagen

Vorbereitungen

Java ist heutzutage auf fast jedem Computer installiert. Um Java zu entwickeln benötigt man allerdings die Entwicklerversion. Da es aber ebenfalls wenig sinnvoll ist, Java ohne Entwicklungsumgebung zu programmieren, installiert man am besten beides in einem. In meinem Fall NetBeans zusammen mit Java. Beides findet sich auf der Downloadseite .

Das erste Programm

Projekt erstellen und Programm ausführen

Das Hello World Programm ist traditionell das erste Programm in jeder Programmiersprache. Es tut nichts weiter als Hello World auszugeben. Das Programm dient lediglich dazu, die grundlegenden Programmierkonzepte einer Sprache zu demonstrieren. In NetBeans sind Programme immer in Projekte eingebettet. Also startet man ein neues Programm, indem man ein neues Projekt anlegt.

Dann legt NetBeans ein neues Projekt an und öffnet die Datei HelloWorld.java mit folgendem Inhalt

/* 
 * To change this license header, choose License Headers in Project Properties. 
 * To change this template file, choose Tools | Templates 
 * and open the template in the editor. 
 */ 
package de.erichweigand.helloworld; 
 
/** 
 * 
 * @author erich 
 */ 
public class HelloWorld { 
 
    /** 
     * @param args the command line arguments 
     */ 
    public static void main(String[] args) { 
        // TODO code application logic here 
    } 
     
}

Ersetzen Sie die Zeile

// TODO code application logic here

durch

System.out.println("Hello World!");

Wenn sie nun auf den grünen Pfeil in der Menüleiste klicken, wird das Programm übersetzt und gestartet. Im Output Fenster (im unteren Bereich) erscheinen die Worte Hello World!. Herzlichen Glückwunsch. Sie haben ihr erstes funktionstüchtiges Java-Programm geschrieben. NetBeans hat dabei im Hintergrund ein Java-Programm-Paket gebaut und ausgeführt. Nach dem Start des Programms liegt dieses im dist Unterverzeichnis des Projekts und heißt im obigen Beispiel HelloWorld.jar. Will man das Programm ohne NetBeans starten geht das mit dem Befehl

java -jar HelloWorld.jar

Genauere Informationen darüber, wie man sein selbst geschriebenes Programm dann letztendlich auch ohne Entwicklungsumgebung benutzen kann, finden sich auf der Internetseite Packaging and Deploying Desktop Java Applications.

Programmerklärung

Variablen und Datentypen

Genaue Spezifikation

Primitive Datentypen

Operationen

Typumwandlung

Durch die Typumwandlung kann Typ einer Variablen (int, float, …) geändert werden. Es gibt 2 Arten der Typumwandlung

Implizite Typumwandlung

Die implizite (automatische) Typumwandlung passiert bei einer Zuweisung oder bei einer Berechnung. Bei einer Wertzuweisung (z.B. float a = 5;) wird der Wert (hier der Integer-Wert 5) automatisch auf den grösseren Werte-Bereich umgewandelt. Erlaubt ist hier nur eine verlustfreie Umwandlung, also eine Umwandlung von einem kleinen Wertebereich auf einen grossen (z.B die Zuweisung eines int an einen float).

Bei einer Berechnung (z.B. 3.5 + 4) werden zuerst alle Werte auf den höchsten verwendeten Wertebereich konveriert (im Beispiel wird aus 4 eine 4.0).

Explizite Typumwandlung

Bei der expliziten Typumwandlung wird der gewünschte Zahlenbereich vor die Variable bzw. den Wert geschrieben (z.B. int p = (int) 3.14; // 3). Hierbei kann es zu einem Datenverlust kommen, weil auf diese Weise auch eine Umwandlung in einen kleineren Zahlenbereich erlaubt ist.

Objekttypen

Gültigkeitsbereich

Auf eine Variable kann nur innerhalb ihres Gültigkeitsbereichs zugegriffen werden. Lesend darf erst auf sie zugegriffen werden, wenn sie initialisiert wurde. Der Gültigkeitsbereich einer Variable ist der Block, in dem sie deklariert wurde und alle inneren Blocks dieses Blocks. Im Gültigkeitsbereich dieser Variable darf keine Variable desselben Namens vorkommen (Auch nicht in inneren Blocks). Ausserhalb des Gültigkeitsbereichs ist es nicht möglich auf die Variable zuzugreifen.

Entscheidungen

if – else

if ( x < 0 ) { 
    System.out.println("x ist kleiner null"); 
} else if ( x == 0 ) { 
    System.out.println("x ist gleich null"); 
} else { 
    System.out.println("x ist größer null"); 
}

switch

swicht(animal) { 
    case "Hund": 
        System.out.println("Es ist ein Hund"); 
        break; 
    case "Katze": 
        System.out.println("Es ist eine Katze"); 
        break; 
    default: 
        System.out.println("Dieses Tier kenn ich nicht"); 
}

Wiederholungen

while

while (Bedingung) { 
    // Ausführen solange Bedingung true 
}
do { 
    // Ausführen solange Bedingung true 
} while (Bedingung);

for

for ( int i = 0 ; i < 10 ; i++ ) { 
    System.out.println( i ); 
}

for-each

int[] zahlen = new int[]{1, 2, 3}; 
for (int zahl : zahlen) { 
    System.out.println(zahl); 
}

Vorteile:

Nachteile:

break und continue