referat interpretation charakterisierung

REFERAT-Menü

Deutsch
Geographie
Geschichte
Chemie
Biographien
Elektronik
Englisch
Epochen
Französisch
Biologie
Informatik
Italienisch
Kunst
Latein
Literatur
Mathematik
Musik
Philosophie
Physik
Politik
Psychologie
Recht
Sonstige
Spanisch
Sport
Technik
Wirtschaft
Wirtschaftskunde-BWL

Geschichte und Einführung in Java

  1. Geschichte und Einführung in Java

 

Java ist eine von Sun Microsystems entwickelte, vollkommen plattformunabhängige Programmiersprache mit spezieller Ausrichtung auf den Einsatz im World Wide Web. Die Sprache lehnt sich in Aufbau und Syntax an C/C++ an.

Java ist dazu geeignet, um Animationen, Simulationen, Echtzeitanwendungen, sowie interaktive Anwendungen wie Guided Tours, Spiele oder Kalkulationsanwendungen zu realisieren. All diese Dinge laufen im Anzeigefenster des java-fähigen WWW-Browsers ab.

Wichtige Eigenschaften von Java 46684fml78ulm3z

    • Objektorientiert: Java ist durchgängig objektorientiert und stellt dem Programmierer eine Fülle elementarer und komplexer Objekte bereit.

    • Sichere Speicherverwaltung: Unter Java ist die Arbeitsspeicherverwaltung aus Programmierersicht wesentlich unkritischer als beispielsweise unter C. Es gibt keine durch Zeiger adressierten Speicherbereiche von unbestimmter Größe, sondern nur Speichervektoren von fest definierter Länge. Die fehlerarme Speicherverwaltung ist besonders wichtig, da Java-Programme ohne Portierungsaufwand in verschiedenen CPU-Umgebungen ablaufen sollen.

    • Plattformunabhängige Programmdateien: Java-Programme werden wie herkömmliche Programme zu Objektcode compiliert, jedoch nicht in eine bestimmte Prozessor- oder Betriebssystem-Umgebung eingebunden, also nicht "gelinkt". Java-Programme laufen daher auf allen Plattformen, wenn ein Java-Objektcode-Interpreter installiert ist (bei WWW-Browsern ist dies die sogenannte "Java-Konsole").

  • Wie funktioniert Java? ml684f6478ullm

  • Javaprogramme sind nicht für einen realen und von System zu System unterschiedlichen Prozessor geschrieben, sondern nur für einen virtuellen Prozessor, die Virtual Machine. Diese Virtual Machine setzt auf das Betriebssystem eines Rechners auf und läuft somit zwischen realem Prozessor und dem Javaprogramm. Der Programmcode wird dann ausgeführt und an den Prozessor angepaßt. Somit kann ein Javaprogramm auf jedem System ausgeführt werden, auf dem eine Virtual Machine läuft.

    Eine Java Applikation besteht nicht aus einer lauffähigen und direktausführbaren Datei, sondern aus einer Anweisungsfolge von sogenannten Bytecode. Dieser Code wird dann von dem Java Interpreter interpretiert und zur Ausführung gebracht. Um mit dem von Sun mitgeliefertem Interpreter eine Applikation zu starten, gibt man folgenden Befehl ein: java programmname

    Die Datei programmname.class enthält den Bytecode, der vom Interpreter interpretiert und somit zur Ausführung gebracht wird.

    Java's Aufbau und Syntax lehnt sich sehr stark an die Programmiersprachen C, bzw. C++ an. Programmierer sind somit in der Lage sich schnell und ohne großen Aufwand von C oder C++ auf Java umzustellen.

    1. Unterschiede zwischen Java und C ,bzw. C++

    C++
    Java
    Konstanten
    #define
    Konstanten: final
    Makros: import
    Funktions-Prototypen
    Reihenfolge der Methoden beliebig
    Zeiger, Referenzen
    Objektvariablen sind immer Referenzen
    boolsche Werte mittels Integer
    if (zahl=liefereWert()) ...
    boolean-Typ -> Konstanten True, False
    if((zahl=liefereWert())!=0) ...
    Bereichsauflösungs-Operator ::
    z.B.: KlasseX::mache(x);
    BasisKlasse::mache(x);
    Punkt auch nach dem Klassennamen
    KlasseX.mache(x);
    Basismethode mittels super
    super.mache(x);
    Strichpunkt nach Klassendeklaration
    Kein Strichpunkt mehr
    Aufruf des Basiskonstruktors mittels Initialisierer-Syntax
    XKLASSE (): BKLASSE() { ... }
    Aufruf von super im Konstruktorrumpf
    XKLASSE () { super(); ...}
    virtual
    automatisch späte Bindung ausser bei private,static,final-Methoen
    Überladen von Operatoren
    Überladen nicht mehr möglich
    Default-Parameter
    Keine Default-Parameter
    const int max = 100;
    final int max = 100;
    Initalisierung direkt bei der Deklaration nicht möglich!
    class X {
    int anz;
    static const int max;
    ... }
    const int X::max = 100;
    X::X(...) : anz(10) {...}
    Initalisierung direkt bei der Deklaration möglich!
    class X {
    int anz = 10; static final int max = 100; ... }
    Destruktor
    finalize
    Vererbung:
    class A : public BasisKl {
    ... }
    Vererbung:
    class A extends BasisKl {
    ... }

    Mehr zu diesem Thema
    Zugriffsschutz
    public,protected,private,...
    Angabe gilt für alle Eigenschaften und Methoden des Objectes
    Default: private
    Zugriffsschutz
    public,protected,private,...
    muss bei jeder Eigenschaft und Methode angegeben werden
    Default (=keine Angabe): freundlich für Klassen des eigenen package
    Mehrfachvererbung
    Arrays
    Strings

    Vererbung - Vererbung in Java

    1. Zweck:
      final-Klassen: können nicht Basisklasse für andere Klassen sein
      z.B.:

      • final class X { ... }

      • class Y extends X { ... } nicht erlaubt


    "Bekannteste" final-Klasse: String
    Vorteil: Optimierungsmöglichkeit für Compiler (frühe Bindung, ...)

    1. Konstruktor-"Verkettung":
      z.B.:
      class X {
      public int i;
      public int j;
      public X (int i) { this.i = i;}
      public X (int i, int j)
      { this(i);
      this.j = j;
      }
      }

     

     

    INTERFACES - Mehrfachvererbung in Java

    1. Zweck:

      • Deklarationen von Methoden, die von "abgeleiteten" Klassen implementiert werden

      • Interface definiert ein "Verhalten", das von seinen abgeleiten Klassen realisiert wird

      • Ersatz für Mehrfach-Vererbung

     

    1. Unterschiede zu Klassen:

      • Interfaces enthalten nur abstrakte Methoden, abstract muss dabei nicht angegeben werden

      • Eigenschaften sind automatisch static und final (also nur Konstanten)

      • abgeleitete Klasse "erbt" nicht sondern "implementiert" das Interface

      • eine Klasse kann zwar nur von einer Klasse erben, aber beliebig viele Interfaces implementieren

     

    1. Beispiele aus der Klassenbibliothek:

      • Runnable: zur Implementierung von Threads, Methode Run muss den ausführbaren Code des Threads enthalten

      • KeyListener: zum Reagieren auf Tastatur-Ereignisse, Methoden: keyPressed, keyReleased, keyTyped

    Arrays in Java

    • sind "in die Sprache eingebaute" Objekte

    • 2-stufiges Anlegen

      1. Objekt-Referenz vereinbaren

      2. Speicher reservieren

    Beispiel:

    int iTab[];

    iTab = new int[10];

    for (int i=0; i < 10; i ++)
    iTab[i] = i;

    • 2-dimensional
      int matrix[][] = new int[5][10];
      matrix[4][9] = 27;

    • Array-Größe:
      int anz = iTab.length;

    • Als Parameter
      void ausgabe(int m[][]) Aufruf: ausgabe(matrix);

    • Initialisieren:
      int iTab[] = {1,3,5};
      int matrix[][] = {{1,2,3},{2,4,6}};

    Strings in Java

    • mittels eingebauten Datentyp (Standard-Klasse: java.lang.String)

    • Vereinbarung:
      String s1;
      String s2 = "Karl";

    • Zuweisung
      s1 = s2;

    • Vergleich
      if (s1.equals(s2))...
      if (s1.compareTo(s2)<0)...
      // wie strcmp in C

    • Konventierung:
      String s = Integer.toString(i);
      int i = Integer.valueOf (s);
      char puf[] = new char[5];
      s.getChars(3,7,puf,0);

    • Zeichenweiser Zugriff:
      if (s.charAt(7) == 'x') ...

    • Stringlänge:
      s.length()

    • String-Methoden:
      charAt, compareTo, concat, copyValueOf, endWith, equals, equalsIgnoreCase, getBytes, getChars,
      indexOf, lastIndexOf, length, replace, startsWith, substring, toCharArray, toString, trim, valueOf

     

     

    Was ist JavaScript?

    JavaScript ist kein direkter Bestandteil von HTML, sondern eine eigene Scriptsprache. Diese Sprache wurde jedoch eigens zu dem Zweck geschaffen, HTML-Autoren ein Werkzeug in die Hand zu geben, mit dessen Hilfe sich WWW-Seiten optimieren lassen.

    JavaScript-Programme werden wahlweise direkt in der HTML-Datei oder in separaten Dateien notiert. Sie werden nicht - wie etwa Java-Programme - compiliert, sondern als Quelltext zur Laufzeit interpretiert, also ähnlich wie Batchdateien bzw. Shellscripts. Dazu besitzen moderne WWW-Browser wie Netscape oder Microsoft Internet Explorer entsprechende Interpreter - Software.

    JavaScript ist dazu hervorragend geeignet, weil es eine vergleichsweise einfache Sprache ist, bei der viele Aufgabenbereiche einer "großen" Programmiersprache fehlen, z.B. Dinge wie Arbeitsspeicherverwaltung oder Dateioperationen. Außerdem setzt JavaScript auf einer bestimmten Umgebung auf, nämlich auf einer anzuzeigenden oder angezeigten WWW-Seite.

    JavaScript in HTML

    <html>
    <head>
    <title>Test</title>
    <script language="JavaScript">
    <!--
    alert("Mein 1. JavaScript Beispiel");
    //-->
    </script>
    </head>
    <body>
    </body>
    </html>

    Erläuterung:

    Mit <script language="JavaScript"> leiten Sie einen Bereich für JavaScript innerhalb einer HTML-Datei ein (script = Quelltext, language = Sprache). Dahinter - am besten in der nächsten Zeile - sollten Sie mit <!-- einen Kommentar einleiten. Dadurch erreichen Sie, daß ältere WWW-Browser, die JavaScript nicht kennen, den folgenden JavaScript - Code ignorieren und nicht irrtümlich als Text innerhalb der HTML-Datei interpretieren. Im obigen Beispiel wird mit Hilfe von JavaScript ein Meldungsfenster mit dem Text "Mein 1. JavaScipt Beispiel" am Bildschirm ausgegeben.

    Am Ende eines JavaScript - Bereichs schließen Sie mit //--> den Kommentar und mit </script> den Bereich für den Programmcode.

    Anmerkung:

    Es gibt keine festen Vorschriften dafür, an welcher Stelle einer HTML-Datei ein JavaScript - Bereich definiert werden muß. Es ist unter JavaScript - Programmierern zur Gewohnheit geworden, einen solchen Bereich im Kopf der HTML-Datei, also zwischen <head> und </head> zu definieren. Dadurch ist am ehesten sichergestellt, daß der Code vom WWW-Browser bereits eingelesen ist und zur Verfügung steht, wenn er ausgeführt werden soll.

    JavaScript - Code kann automatisch beim Einlesen der HTML-Datei ausgeführt werden. Das ist dann der Fall, wenn JavaScript - Befehle in einem JavaScript - Bereich außerhalb jeder selbst definierten Funktion stehen, so wie im obigen Beispiel. In solchen Fällen ist es manchmal auch erforderlich, den Script - Bereich innerhalb des HTML - Dateikörpers, also innerhalb von <body>...</body>, zu notieren. Zum Beispiel, wenn Sie am Ende der Datei mit JavaScript dynamisch Datum und Uhrzeit der letzten Änderung an der Datei schreiben wollen .

    1. Notationsregeln

    Beispiel 1:
     
    Zahl = 42;
     
     
    Beispiel 2:
     
    Quadrat = Zahl * Zahl;
     
     
     
    Beispiel 3:
     
     
    if(Zahl > 1000)
    Zahl = 0;
     
     
    Beispiel 4:
     
    alert("Das Quadrat von " + Zahl + " = " + Ergebnis);
     
    1. Anweisungen

    Beispiel 1:
     
     
    if(Zahl > 1000)
    {
    Zahl = 0;
    Neustart();
    }
     
     
    Beispiel 2:
     
     
    while(i <= 99)
    {
    Quadrat(i);
    i = i + 1;
    }
     
     
    Beispiel 3:
     
     
    function SageQuadrat(x)
    {
    var Ergebnis = x * x;
    alert(Ergebnis);
    }
     
     
    Beispiel 4:
     
     
    function SagEinmaleins(x)
    {
    var Ergebnis = x * x;
    if(Ergebnis > 100)
    {
    Ergebnis = 0;
    Neustart();
    }
    alert(Ergebnis);
    }
     
    1. Kommentare

    while(i <= 99)
     
    {
    Quadrat = i * i; /* solange i kleiner gleich 99, Quadrat von i bilden */
    i = i + 1; /* i um eins erhoehen, damit es irgendwann 99 ist */
    }
     
    1. Event-Handler

    onAbort (bei Abbruch)
    onBlur (beim Verlassen)
    onChange (bei erfolgter Änderung)
    onClick (beim Anklicken)
    onDblClick (bei doppeltem Anklicken)
    onError (im Fehlerfall)
    onFocus (beim Aktivieren)
    onKeydown (bei gedrückter Taste)
    onKeypress (bei erfolgtem Tastendruck)
    onKeyup (bei losgelassener Taste)
    onLoad (beim Laden einer Datei)
    onMousedown (bei gedrückter Maustaste)
    onMousemove (bei weiterbewegter Maus)
    onMouseout (beim Verlassen des Elements mit der Maus)
    onMouseover (beim Überfahren des Elements mit der Maus)
    onMouseUp (bei losgelassener Maustaste)
    onReset (beim Zurücksetzen des Formulars)
    onSelect (beim Selektieren von Text)
    onSubmit (beim Absenden des Formulars)
    onUnload (beim Verlassen der Datei)
    javascript: (bei Verweisen)
    1. Objekt Window

    Eigenschaften:
     
    closed (geschlossenes Fenster)
    defaultStatus (Normalanzeige in der Statuszeile)
    innerHeight (Höhe des Anzeigebereichs)
    innerWidth (Breite des Anzeigebereichs)
    locationbar (URL-Adreßzeile)
    menubar (Menüleiste)
    name (Fenstername)
    outerHeight (Höhe des gesamten Fensters)
    outerWidth (Breite des gesamten Fensters)
    pageXOffset (Fensterstartposition von links)
    pageYOffset (Fensterstartposition von oben)
    personalbar (Zeile für Lieblingsadressen)
    scrollbars (Scroll-Leisten)
    statusbar (Statuszeile)
    status (Inhalt der Statuszeile)
    toolbar (Werkzeugleiste)
     
    Methoden:
     
    alert() (Dialogfenster mit Infos)
    back() (zurück in History)
    blur() (Fenster verlassen)
    captureEvents() (Ereignisse überwachen)
    clearInterval() (zeitliche Anweisungsfolge abbrechen)
    clearTimeout() (Timeout abbrechen)
    close() (Fenster schließen)
    confirm() (Dialogfenster zum Bestätigen)
    disableExternalCapture() (Fremdüberwachung verhindern)
    enableExternalCapture() (Fremdüberwachung erlauben)
    find() (Text suchen)
    focus() (Fenster aktiv machen)
    forward() (vorwärts in History)
    handleEvent() (Ereignis übergeben)
    home() (Startseite aufrufen)
    moveBy() (bewegen mit relativen Angaben)
    moveTo() (bewegen mit absoluten Angaben)
    open() (neues Fenster öffnen)
    print() (ausdrucken)
    prompt() (Dialogfenster für Werteingabe)
    releaseEvents() (Ereignisse abschließen)
    resizeBy() (Größe verändern mit relativen Angaben)
    resizeTo() (Größe verändern mit absoluten Angaben)
    routeEvent() (Event-Handler-Hierarchie durchlaufen)
    scrollBy() (Scrollen um Anzahl Pixel)
    scrollTo() (Scrollen zu Position)
    setInterval() (zeitlische Anweisungsfolge setzen)
    setTimeout() (Timeout setzen)
    stop() (abbrechen)
    1. Beispiele

    Aufruf von JavaScript-Funktionen in HTML

    <html>
    <head>
    <title>JavaScriptTest</title>
    <script language="JavaScript">
    <!--
    function Quadrat(Zahl)
    {
    Ergebnis = Zahl * Zahl;
    alert("Das Quadrat von " + Zahl + " = " + Ergebnis);
    }
    //-->
    </script>
    </head>
    <body>
    <form>
    <input type=button value="Quadrat von 3" onClick="Quadrat(3)">
    </form>
    </body>