Programmiersprache Java

Anzeigebild für den Artikel "Programmiersprache Java"

Nun möchte ich im Folgenden einen Überblick über die Programmiersprache Java geben. Vor allem in der Berufsschule und im Studium habe ich bis jetzt mit Java programmiert. Daran lässt sich schon erkennen, welche Bedeutung diese Programmiersprache in Sachen Bildung hat.

Beschreibung

Java ist eine objektorientierte Programmiersprache und wurde 1995 von Sun Microsystems gegründet. Sie zählt außerdem zu den Programmiersprachen der dritten Generation und damit zu den höheren Programmiersprachen. Höhere Programmiersprachen erleichtern die Umsetzung problemorientierter Algorithmen und werden daher häufig als problemorientierte Programmiersprachen bezeichnet. Ein wichtiger Aspekt dieser Programmiersprache ist, dass der kompilierte Programmcode auf verschiedenen Betriebssystemen und dadurch Rechnern ausgeführt werden kann. Grund dafür ist der Einsatz der virtuellen Java-Maschine verantwortlich. Die Programmiersprache wurde nach der Insel Java benannt. Dort sind reichlich Vorkommen der Rohstoffe, welche in Coca Cola oder Kaffee beispielsweise enthalten sind. Mittlerweile gibt es schon die Version 8 von Java.

Objektoriente Programmiersprachen

Die vier allgemein anerkannten Prinzipien der objektorientierten Programmierung: Abstraktion, Kapselung, Vererbung und Polymorphie

Ein wichtiges Konzept in der Programmierung ist das objektorienterte Programmieren, das von einigen Programmiersprachen unterstützt wird. Die Kernidee der Objektorientierung ist die Kapselung von Daten und Verhalten durch Objekte/Klassen zu einer Einheit. Dabei greift nur das eigene Verhalten auf die Daten des Objekts zu.

Eine Klasse kann allgemein als eine Schablone oder Vorlage von Objekten betrachtet werden. Es ist somit eine Beschreibung einer Menge von Objekten mit gemeinsamen Attributen und Verhalten.
Eine Klasse wird im Wesentlichen von zwei Dingen charakterisiert: Attribute und Operationen.
Beispielsweise ist eine Klasse vergleichbar mit einem Bauplan, einem Rezept oder einer Stempelschablone.

Ein Objekt ist hingegen eine Representation einer konkreten Einheit (einer Klasse). Ein Objekt ist die Instanz einer Klasse.
Jedes Objekt hat drei wichtige Eigenschaften: Identität, Zustand und Verhalten.
Beispielsweise ist ein Objekt vergleichbar mit einem Haus (Objekt), das anhand von einem Bauplan (Klasse) erstellt wurde, ein Gericht (Objekt), das anhand eines Rezepts (Klasse) gekocht wurde oder einem Stempelabdruck (Objekt), das durch eine gefärbte Stempelschablone (Klasse) auf ein Blatt Papier gedruckt wurde.

Des Weiteren ist als nächster wichtiger Punkt die Vererbung zu nennen. Hierbei können Klassen ihre Methoden und Eigenschaften an Subklassen weitergeben. Dadurch sind Subklassen eine Erweiterung der Superklassen. Hierbei herrscht eine „Ist ein“-Beziehung. Beispielsweise ist „Java ist auch eine Insel“ ein Buch. Das umfassende Handbuch verwendet spezifische Charakteristika eines Buches, erweitert diese mit eigenen Worten, Sätzen und Bildern und ist dadurch mehr als ein Buch. Meistens gibt es die Superklasse nicht. Sie wird lediglich dafür verwendet, ein Grobgerüst für die Subklassen zu geben und ist abstrakt. Denn was ist schon „das Buch“?

Syntax

Die Syntax kann als Rechtschreibung gesehen werden. Welche Zeichen und Schlüsselwörter in einer Programmiersprache verwendet werden. Im Folgenden werden wichtige Sprachelemente von Java vorgestellt. Java ist case sensitive. Das bedeutet, dass zwischen Groß- und Kleinschreibung unterschieden wird. Es macht also einen Unterschied, eine Variable „var“ oder „Var“ zu nennen.

Hello World

Das „Hello World“ Programm ist meistens das erste Programm, das man mit einer neuen Programmiersprache implementiert. Es ist das einfachste Programm, das man erstellen kann. Dadurch kann man die Grundzüge der Syntax kennenlernen.

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World.");
    }
}

Klasse

Eine Klasse ist das zentrale Element in Java. Es gibt kein ausführbares Programm ohne eine Klasse.

public class Test{
}

Methode

Eine Methode ist ein weiters wichtiges Element in Java. Es gibt kein ausführbares Programm ohne die sogenannte „main“ Methode.

public static void main(String[] args){
}
 
Modifizierer <Typvariable(n)> Rückgabetyp
Methodenname(Parameter) throws-Klausel
 
public String getName(){
    return this.name;
}

Variablen

In den Variablen werden die Daten der Objekte gespeichert.
Zwei wichtige Begriffe sind hierbei Deklaration und Initialisierung.
Die Deklaration bezeichnet die Festlegung des Datentyps. Die Initialisierung ist die erste Zuweisung eines Wertes einer Variable.

private byte numberONe = 3;
private short numberTwo = 334;
private int numberThree = 1995;
//l oder L nicht unbedingt notwendig
private long numberFour = 810000000l;
private float numberFive = 23.23f;
private double numberSix = 22323.2323;	
private boolean isReading = true;
private char gender = 'm';

Primitive Datentypen

Die verschiedenen Datentypen in Java:

Datentyp Wertebereich
Ganzzahlen
byte –2^7 bis 2^7 – 1 (–128 … 127)
short –2^15 bis 2^15 – 1 (–32.768 … 32.767)
int –2^31 bis 2^31 – 1 (–2.147.483.648 … 2.147.483.647)
long –2^63 bis 2^63 – 1 (–9.223.372.036.854.775.808 … 9.223.372.036.854.775.807)
Fließkommazahlen
float 1,40239846E-45f … 3,40282347E+38f
double 4,94065645841246544E-324 … 1,79769131486231570E+308
Weitere Datentypen
boolean true oder false
char 16-Bit-Unicode-Zeichen (0x0000 … 0xFFFF)

Sichtbarkeiten

So offen wie nötig und so restriktiv wie möglich.

  • private – nur innerhalb der Klasse sichtbar
  • kein Schlüsselwort verwenden – paketsichtbarkeit – im Paket sichtbar
  • protected – bei Klasse, Unterklassen und Klassen im Paket sichtbar
  • public – von jeder Klasse sichtbar

Kommentare

Kommentare dienen der Dokumentation des Quellcodes und sollten, auch wenn es kurzfristig lästig erscheint, in angemessenem Maße eingesetzt werden. Langfristig hat man davon nur Vorteile.

//Einzeiliges Kommentar
/*Kommentar
über 
mehrere 
Zeilen 
hinweg*/
/**
JavaDoc Kommentar
@author: Andreas Geiger
*/

Schleifen

Eine Schleife ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs-Block – den sogenannten Schleifenkörper – solange die Schleifenbedingung gültig bleibt bzw. die Abbruchbedingung nicht eintritt. Schleifen, deren Schleifenbedingung immer zur Fortsetzung führt oder die keine Schleifenbedingung haben, sind Endlosschleifen.
Grundsätzlich lassen sich drei Schleifenarten unterscheiden:

  • Die zählergesteuerte Schleife (For Schleife)
  • Die kopfgesteuerte Schleife (While Schleife)
  • Die fußgesteuerte Schleife (Do-While Schleife)
  • for (Anfangswert; Bedingung; Zähler){
        // Anweisung;
    }
     
    for(int i = 0; i<10; i++){
        System.out.println(i);
    }
     
    while (Bedingung){
        // Anweisung;
    }
     
    while (i<10){
        /*die Variable i muss 
         *vorher deklariert 
         *und initialisiert sein.*/
        System.out.println(i);
        i++;
    }
     
    do{
        /*die Variable i muss 
         * vorher deklariert 
         * und initialisiert sein.*/
        System.out.println(i);
        i++;
    }while (i<10);

    Bedingte Anweisungen oder Fallunterscheidungen

    Die Fallunterscheidung wird mit if/else gelöst. Die If-Anweisung dient dazu, einen Ausdruck auszuwerten und abhängig von dem Ergebnis weiterzuverfahren. Der Ausdruck muss dabei einen Wert des Datentyps boolean haben.
    Mit if-else Anweisungen kann man seinen Code weiter verzweigen, in dem man mehrere if-elsen-Anweisungen nacheinander folgen lässt.
    Alle Fälle die mit den vorherigen if oder if-else nicht abgedeckt worden sind werden nun im else Block behandelt.

    if(Bedingung){
         Anweisung;
    } else{
        Anweisung;
    }
     
    if (Bedingung) {
    	//Anweisung;
    } else if (Bedingung2) {
    	//Anweisung;
    } else {
    	//Anweisung;
    }
     
    if(number < 10){
        System.out.println(i + "< 10");
    }else if(number > 10){
        System.out.println(i + "> 10");
    }else{
        System.out.println("i == 10");
    }

    Exceptions

    Um Ausnahmen behandeln zu können, bedient man sich den Exceptions. Generell kann eine Exceptions in der Methodensignatur mit throws an den Methodenaufruf „weitergeben“ oder man kann es mit try/catch/finally behandeln. Das finally ist optional, wird jedoch, wenn es vorhanden ist, immer am Ende ausgeführt.

    public void methodThrowsException() 
    throws TextException{
        //Anweisung, die zur Exception führen kann;
    }
     
    try{
        /*Anweisung, die eventuell 
        * eine Exception werfen kann. 
        */
    }
    catch(TestException e){
        /* Anweisung, die ausgeführt wird, 
        *  wenn die Exception in der 
        *  Bedingung aufgetreten ist
        */
    }
    finally{
        /* Wird immer ausgeführt.
        * Entweder nach dem try 
        * oder dem catch Block.
        */
    }

    Generics

    Generics können als Schablonen für Klassen, Interfaces und Methoden gesehen werden. Die Auswertung der Generics erfolgt ausschließlich durch den Compiler. Die statische Typsicherheit von Java wird dadurch verbessert und redundante Definitionen werden vermieden.

    public class Beispiel <T>{
        private ArrayList<T> arrayList;
    }

    Schlüsselwörter

    Schlüsselwörter sind reservierte Wörter, die der Compiler automatisch erkennt. Sie stellen grundlegende Elemente in der Programmiersprache dar. Keines dieser Wörter sollte als Variablennamen verwendet werden.

    • boolean, byte, char, double, float, int, long, short
    • public, private, protected
    • abstract, final, native, static
    • strictfp, synchronized, transient, volatile
    • if, else
    • do, while
    • switch, case, default
    • for, break, continue
    • assert, class, extends, implements
    • import, instanceof, interface, new, package
    • super, this
    • try, catch, finally
    • throw, throws
    • return, void, const, goto
    • enum

    Java als die beste Programmiersprache in 2016

    Java ist der große Gewinner des Jahres 2016 laut dem TIOBE-Index. Danach folgen C und C++.
    Die Gründe dafür liegen anhand TIOBE daran, dass Java immer weiter an Bedeutung dazu gewinnt. Zurzeit ist die Sprache sowohl am Enterprise-Back-End-Markt als auch auf dem mobilen Sektor durch Android sehr gefragt. Das schlägt sich auch auf dem Arbeitsmarkt und das damit verbunde Gehalt nieder. Im Sommer 2016 berichtete Craig Buckler, dass 18 Prozent der (US-amerikanischen) Stellenangebote für Entwickler Kenntnisse in Java verlangen und Arbeitgeber dafür ein durchschnittliches Gehalt von 100.000 Dollar bieten.

    Mein persönliches Fazit

    Meine erste Programmiersprache ist Java. Wie kurz angeschnitten ist die Syntax leicht zu verstehen und bietet gerade auf dem Arbeitsmarkt gute Chancen. Gerade dadurch, dass mobile Apps auf Android durch Java entwickelt werden, ist diese Sprache auf jeden Fall einen Blick wert. Als Softwareentwickler sollte man sowieso sich nicht nur auf eine Programmiersprache beschränken und seine Aufmerksamkeit auf zwei bis drei weitere wichtige Sprachen setzen. Java ist hierbei ein Mittel, mit dem man sehr viel entwickeln kann. Gerade durch die weite Verbreitung auch im Internet bekommt man genügend Starthilfe.
    Mein Tipp: Ladet Euch Eclipse herunter, programmiert ein paar erste Anwendungen und macht Euch selber ein Blick darüber. Jeder hat seine eigenen Vorlieben und Vorstellungen. Learning by doing 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.