Benutzer-Werkzeuge

Webseiten-Werkzeuge


unterschiede_zu_java:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
unterschiede_zu_java:start [2021/03/04 07:36] Martin Pabstunterschiede_zu_java:start [2023/03/22 10:10] (aktuell) Martin Pabst
Zeile 16: Zeile 16:
 } }
 </code> </code>
- +In LearnJ ist dies ebenso möglich. Darüber hinaus fasst LearnJ auch alle Anweisungen, die außerhalb einer Klassendefinition stehen, als Hauptprogramm auf. Dadurch lassen sich auf sehr einfache Weise kurze Programmbeispiele schreiben. Das obige Hello-World-Programm sieht in LearnJ also so aus:
-In LearnJ besteht das Hauptprogramm einfach aus allen Anweisungen, die außerhalb einer Klassendefinition stehen. Dadurch lassen sich auf sehr einfache Weise kurze Programmbeispiele schreiben. Das obige Hello-World-Programm sieht in LearnJ also so aus:+
 <HTML> <HTML>
  
Zeile 47: Zeile 46:
 Die Programmiersprache dieser Website unterscheidet sich von Java dahingehend, dass der Vergleichsoperator ''=='' bei Strings nicht die Gleichheit der Objekte prüft, sondern einen Zeichenkettenvergleich durchführt. Das obige Programm gibt also "Die Strings sind gleich!" aus. Natürlich gibt es in der Programmiersprache dieser Seite auch die Methode ''equals''. Sie liefert exakt das selbe Resultat wie der Vergleichsoperator ''==''. Die Programmiersprache dieser Website unterscheidet sich von Java dahingehend, dass der Vergleichsoperator ''=='' bei Strings nicht die Gleichheit der Objekte prüft, sondern einen Zeichenkettenvergleich durchführt. Das obige Programm gibt also "Die Strings sind gleich!" aus. Natürlich gibt es in der Programmiersprache dieser Seite auch die Methode ''equals''. Sie liefert exakt das selbe Resultat wie der Vergleichsoperator ''==''.
  
 +=== 4. Keine Pflicht zur Erstellung eines Konstruktors ===
 +Erbt eine Klasse von einer anderen Klasse, die keinen parameterlosen Konstruktor besitzt, so muss sie gemäß Java Specification einen eigenen Konstruktor haben. In der Online-IDE gibt es diese Pflicht nicht, so dass folgendes geht:
 +<code java>
 +new MyRectangle(10, 10, 100, 100);     // direkter Zugriff auf den Konstruktor der Oberklasse Rectangle möglich
 +
 +class MyRectangle extends Rectangle {
 +}
 +</code>
  
-=== 4. Standard Library ===+=== 5. Standard Library ===
 Derzeit sind Nachbildungen folgender Klassen aus der Java Standard Library vorhanden: Derzeit sind Nachbildungen folgender Klassen aus der Java Standard Library vorhanden:
   * die Klasse ''Math'',   * die Klasse ''Math'',
Zeile 67: Zeile 74:
   * die Klasse ''Input'' zum Einlesen von Tastatur-Benutzereingaben,   * die Klasse ''Input'' zum Einlesen von Tastatur-Benutzereingaben,
   * die Klasse ''Sound'' zur Ausgabe von Tönen und Sound-Stücken,   * die Klasse ''Sound'' zur Ausgabe von Tönen und Sound-Stücken,
-  * die Klasse ''PApplet'', die fast die einen Großteil der [[https://processing.org|Processing-Library]] enthält,+  * die Klasse ''PApplet'', die die einen Großteil der [[https://processing.org|Processing-Library]] enthält,
   * die Klasse ''Vector2'' mit Methoden zur 2D-Vektorrechnung,   * die Klasse ''Vector2'' mit Methoden zur 2D-Vektorrechnung,
   * die Klassen ''WebSocket'' und ''WebSocketClient'' zur Programmierung von Chat-Programmen, Netzwerkspielen u.ä.   * die Klassen ''WebSocket'' und ''WebSocketClient'' zur Programmierung von Chat-Programmen, Netzwerkspielen u.ä.
-  * sowie eine eingebaute umfangreiche Grafikbibliothek, die die Programmierung einfacher Spiele möglich macht+  * sowie eine eingebaute umfangreiche Grafikbibliothek, die die Programmierung einfacher Spiele möglich macht (Klassen ''World'', ''Circle'', ''Ellipse'', ''Rectangle'', ''Polygon'', ''Triangle'', ''Sprite'', ''Turtle'', ''Text'', ''Bitmap'', ''Group'', ''Gamepad'' usw.)
  
 **Links:** **Links:**
-  * [[https://www.mathe-pabst.de/java/api_documentation.html|JavaDoc-ähnline Übersicht über alle Klassen von LearnJ]] +  * [[https://www.online-ide.de/api_documentation.html|JavaDoc-ähnline Übersicht über alle Klassen von LearnJ]] 
-  * [[api:documentation:start|Dokumentation der Klassenbibliothek mit Erklärungen und vielen interaktiven Beispielen]]+  * [[api:documentation:start|Dokumentation der Klassenbibliothek mit Erklärungen und vielen Beispielprogrammen]] 
 +  * [[api:documentation:grafik:start|Dokumentation der Grafikklassen mit Erklärungen und vielen Beispielprogrammen]] 
 +  * [[api:documentation:spiele:start|Dokumentation der Möglichkeiten zur Spieleprogrammierung mit vielen Beispielprogrammen]]
  
 == Hier ein einfaches Beispiel zur Verwendung der Grafikklassen == == Hier ein einfaches Beispiel zur Verwendung der Grafikklassen ==
 <HTML> <HTML>
-<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Feuerwerk'}">+<div class="java-online" style="height: 400px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Feuerwerk'}">
 <script type="text/plain" title="Feuerwerk.java"> <script type="text/plain" title="Feuerwerk.java">
 new Feuerwerk(); new Feuerwerk();
Zeile 161: Zeile 170:
   * lokale Variablen und Parameter können als ''final'' deklariert werden.   * lokale Variablen und Parameter können als ''final'' deklariert werden.
   * Generics, z.B. ''class Liste<K> { ... }''   * Generics, z.B. ''class Liste<K> { ... }''
-  * Variablendeklaration mit ''var'' ist möglich ([[https://blog.codefx.org/java/java-10-var-type-inference/||local variable type inference]])+  * Das Schlüsselwort ''var'' aus Java 11 ([[https://blog.codefx.org/java/java-10-var-type-inference/|local variable type inference]]) zur Deklarationen von initialisierten Variablen ohne explizite Typangabe, \\ z.B.: ''var i = 10;'' oder ''var liste = new ArrayList<Integer>();'' 
 +  * Instanzierung von Generics ohne Angabe der Typen in '<>', z.B. ''ArrayList<Integer> liste = new ArrayList<>();'' 
 +  * Wrapper-Klassen ''Character'', ''Boolean'', ''Integer'', ''Float'' und ''Double'' mit [[https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html|Auto-Boxing/Unboxing]]
  
 ==== Operatoren ==== ==== Operatoren ====
unterschiede_zu_java/start.1614839805.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki