Einstieg in die Informatik mit Java

Ähnliche Dokumente
Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

Datenstrukturen und Algorithmen

Programmiervorkurs. Wintersemester 2013/2014

Vorkurs Informatik WiSe 17/18

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Einführung in die Programmierung

Vorkurs Informatik WiSe 16/17

Grundlagen der Informatik für Ingenieure I

Übungen zu Algorithmen

Einführung in die Programmierung mit Java

JAVA als erste Programmiersprache Semesterkurs

Vorlesung Programmieren

Einstieg in die Informatik mit Java

Vorlesung Informatik, Teil 1. Organisatorisches

Liste MI / Liste I Programmieren in C++

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Programmieren 2 - Java

Programmiertechnik II WS 2017/18

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik

2. Programmierung in C

4. Objektorientierte Programmierung mit C++

Praxis der Programmierung

Informatik I - Einstiegskurs

Kapitel 1: Einführung

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung

Übungen zu Programmieren - Code-Formatierung -

Einführung in die Programmierung

Vorlesung Informatik, Teil 2. Organisatorisches

Java-Programmierung mit NetBeans

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2015/16

Angewandte Mathematik und Programmierung

Objektorientierte Programmierung OOP Programmieren mit Java

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Schöner Programmieren

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

Einführung in die Programmierung

Vorkurs: Java-Einführung

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2017/18

Einführung in die Programmierung Wintersemester 2016/17

II.1.1. Erste Schritte - 1 -

Übung zur Vorlesung Strukturiertes Programmieren WS 2014/15. Übungsblatt 1: JAVA - Erste Schritte Abgabe: Besprechung:

Einstieg in die Informatik mit Java

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Werkzeuge zur Programmentwicklung

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Prof. Dr. Heinrich Müller. Informatik VII Universität Dortmund. Organisatorisches zum Vorkurs Informatik

Schöner Programmieren

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -

Einstieg in die Informatik mit Java

Kapitel 7: Rekursion. Inhalt. Rekursion: Technik Rekursion vs. Iteration

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programmierpraktikum

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Informatik II. Semesterklausur

Workload: 150 h ECTS Punkte: 5

Modellierung und Programmierung 1

Organisatorisches und Überblick

Programmieren I + II Regeln der Code-Formatierung

Algorithmen und Programmierung II

Programmierkurs. Manfred Jackel

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Programmieren I + II Regeln der Code-Formatierung

Einführung in C. EDV1-04C-Einführung 1

Übungen zur Vorlesung Wissenschaftliches Rechnen I

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Stand: Semester: Dauer: Modulnummer: Minimaldauer 1 Semester IOBP. Regulär angeboten im: Modultyp: Pflicht WS, SS

3. Anatomie eines imperativen Java- Programms

Einführung in Java. Ausgewählte Quellen zu Java

2. Programmierung in C

Einführung in die Programmierung mit BlueJ

Martin Unold INFORMATIK. Geoinformatik und Vermessung

II.3.1 Rekursive Algorithmen - 1 -

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Wiederholung der Endklausur am 24. September 2013

Transkript:

Vorlesung vom 18.4.07, Einführung

Vorlesungen Einstieg in die Informatik Ziele der Vorlesung Programmiersprache etwas Grundlagen einige Algorithmen aus Mathematik und Informatik Programmierpraktikum: Umsetzung von Algorithmen in Programme (dies ist der Schwerpunkt der Veranstaltung!)

Vorlesungen Einstieg in die Informatik Ziele der Vorlesung Programmiersprache etwas Grundlagen einige Algorithmen aus Mathematik und Informatik Programmierpraktikum: Umsetzung von Algorithmen in Programme (dies ist der Schwerpunkt der Veranstaltung!) Zielgruppe

Vorlesungen Einstieg in die Informatik Ziele der Vorlesung Programmiersprache etwas Grundlagen einige Algorithmen aus Mathematik und Informatik Programmierpraktikum: Umsetzung von Algorithmen in Programme (dies ist der Schwerpunkt der Veranstaltung!) Zielgruppe Hörer/-innen aller Fachrichtungen keine speziellen Vorkenntnisse erforderlich

Vorlesungen Einstieg in die Informatik Ziele der Vorlesung Programmiersprache etwas Grundlagen einige Algorithmen aus Mathematik und Informatik Programmierpraktikum: Umsetzung von Algorithmen in Programme (dies ist der Schwerpunkt der Veranstaltung!) Zielgruppe Hörer/-innen aller Fachrichtungen keine speziellen Vorkenntnisse erforderlich

Vorlesungen im Sommersemester 2007 Bohlender / Richter / Feldhoff Mi, 9:45-11:15 und Mi, 14:00-15:30, Hertz-Hörsaal

Vorlesungen im Sommersemester 2007 Bohlender / Richter / Feldhoff Mi, 9:45-11:15 und Mi, 14:00-15:30, Hertz-Hörsaal Schwerpunkte: Grundkonzepte von Java (bis etwa Pfingsten) Objektorientierte Programmierung, Applets, usw. (etwa ab Pfingsten) Rechnerhandhabung (Linux, Editor, Compiler, Entwicklungsumgebung NetBeans,...)

Vorlesungen im Sommersemester 2007 Bohlender / Richter / Feldhoff Mi, 9:45-11:15 und Mi, 14:00-15:30, Hertz-Hörsaal Schwerpunkte: Grundkonzepte von Java (bis etwa Pfingsten) Objektorientierte Programmierung, Applets, usw. (etwa ab Pfingsten) Rechnerhandhabung (Linux, Editor, Compiler, Entwicklungsumgebung NetBeans,...) Einstieg in die Informatik und algorithmische Mathematik

Vorlesungen im Sommersemester 2007 Bohlender / Richter / Feldhoff Mi, 9:45-11:15 und Mi, 14:00-15:30, Hertz-Hörsaal Schwerpunkte: Grundkonzepte von Java (bis etwa Pfingsten) Objektorientierte Programmierung, Applets, usw. (etwa ab Pfingsten) Rechnerhandhabung (Linux, Editor, Compiler, Entwicklungsumgebung NetBeans,...) Einstieg in die Informatik und algorithmische Mathematik Grüner / Feist Di, 11:30-13:00, Großer Hörsaal und Mi, 11:30-13:00, Tulla-Hörsaal

Vorlesungen im Sommersemester 2007 Bohlender / Richter / Feldhoff Mi, 9:45-11:15 und Mi, 14:00-15:30, Hertz-Hörsaal Schwerpunkte: Grundkonzepte von Java (bis etwa Pfingsten) Objektorientierte Programmierung, Applets, usw. (etwa ab Pfingsten) Rechnerhandhabung (Linux, Editor, Compiler, Entwicklungsumgebung NetBeans,...) Einstieg in die Informatik und algorithmische Mathematik Grüner / Feist Di, 11:30-13:00, Großer Hörsaal und Mi, 11:30-13:00, Tulla-Hörsaal Schwerpunkte: Grundkonzepte von C++ Typische Algorithmen aus der numerischen Mathematik Rechnerhandhabung (Linux, Editor, Compiler,...)

Vorlesungen im Sommersemester 2007 Bohlender / Richter / Feldhoff Mi, 9:45-11:15 und Mi, 14:00-15:30, Hertz-Hörsaal Schwerpunkte: Grundkonzepte von Java (bis etwa Pfingsten) Objektorientierte Programmierung, Applets, usw. (etwa ab Pfingsten) Rechnerhandhabung (Linux, Editor, Compiler, Entwicklungsumgebung NetBeans,...) Einstieg in die Informatik und algorithmische Mathematik Grüner / Feist Di, 11:30-13:00, Großer Hörsaal und Mi, 11:30-13:00, Tulla-Hörsaal Schwerpunkte: Grundkonzepte von C++ Typische Algorithmen aus der numerischen Mathematik Rechnerhandhabung (Linux, Editor, Compiler,...)

Das Team Vorlesung/Übungen Dr., Mathebau 015, Tel. 2839 Praktikum/Aufgaben Dipl.Math.techn. Markus Richter, Mathebau 023, Tel. 3157 Dipl.Math.techn. Kim Feldhoff, Mathebau 019, Tel. 8036

Das Team Vorlesung/Übungen Dr., Mathebau 015, Tel. 2839 Praktikum/Aufgaben Dipl.Math.techn. Markus Richter, Mathebau 023, Tel. 3157 Dipl.Math.techn. Kim Feldhoff, Mathebau 019, Tel. 8036 Praktikum/Anmeldung Dipl.-Ing. Wolfgang Maag, Mathebau 018, Tel. 2679

Das Team Vorlesung/Übungen Dr., Mathebau 015, Tel. 2839 Praktikum/Aufgaben Dipl.Math.techn. Markus Richter, Mathebau 023, Tel. 3157 Dipl.Math.techn. Kim Feldhoff, Mathebau 019, Tel. 8036 Praktikum/Anmeldung Dipl.-Ing. Wolfgang Maag, Mathebau 018, Tel. 2679 Sekretariat Frau Kerstin Dick, Mathebau 113, Tel. 2680

Das Team Vorlesung/Übungen Dr., Mathebau 015, Tel. 2839 Praktikum/Aufgaben Dipl.Math.techn. Markus Richter, Mathebau 023, Tel. 3157 Dipl.Math.techn. Kim Feldhoff, Mathebau 019, Tel. 8036 Praktikum/Anmeldung Dipl.-Ing. Wolfgang Maag, Mathebau 018, Tel. 2679 Sekretariat Frau Kerstin Dick, Mathebau 113, Tel. 2680... und vor allem Ihre Tutorinnen und Tutoren

Das Team Vorlesung/Übungen Dr., Mathebau 015, Tel. 2839 Praktikum/Aufgaben Dipl.Math.techn. Markus Richter, Mathebau 023, Tel. 3157 Dipl.Math.techn. Kim Feldhoff, Mathebau 019, Tel. 8036 Praktikum/Anmeldung Dipl.-Ing. Wolfgang Maag, Mathebau 018, Tel. 2679 Sekretariat Frau Kerstin Dick, Mathebau 113, Tel. 2680... und vor allem Ihre Tutorinnen und Tutoren

Webseite zur Vorlesung Weitere Informationen siehe Merkblatt bzw. Webseite www.mathematik.uni-karlsruhe.de/ianm2/lehre/java2007s/

Anmeldung zum Praktikum Anmeldung bis Donnerstag, 19.4., 12:00 Uhr Wahl der Veranstaltung Java oder C++ Terminwahl Freitag, 20.4., 13:00 Uhr bis Dienstag, 24.4., 12:00 Uhr

Anmeldung zum Praktikum Anmeldung bis Donnerstag, 19.4., 12:00 Uhr Wahl der Veranstaltung Java oder C++ Terminwahl Freitag, 20.4., 13:00 Uhr bis Dienstag, 24.4., 12:00 Uhr Praktikumsbeginn ab Mittwoch, 25.4. (je nach gewähltem Termin)

Anmeldung zum Praktikum Anmeldung bis Donnerstag, 19.4., 12:00 Uhr Wahl der Veranstaltung Java oder C++ Terminwahl Freitag, 20.4., 13:00 Uhr bis Dienstag, 24.4., 12:00 Uhr Praktikumsbeginn ab Mittwoch, 25.4. (je nach gewähltem Termin) Bitte beachten Sie das Merkblatt! Anmeldung ist nur an den Pool-Rechnern im Rechenzentrum möglich!

Anmeldung zum Praktikum Anmeldung bis Donnerstag, 19.4., 12:00 Uhr Wahl der Veranstaltung Java oder C++ Terminwahl Freitag, 20.4., 13:00 Uhr bis Dienstag, 24.4., 12:00 Uhr Praktikumsbeginn ab Mittwoch, 25.4. (je nach gewähltem Termin) Bitte beachten Sie das Merkblatt! Anmeldung ist nur an den Pool-Rechnern im Rechenzentrum möglich!

Eine kleine Umfrage Semester 2 4 6... Fach Etec, Mathe, Physik, Info, Mach, andere (WiMathe: Java, ChemieIng: C / alg. Math. im SS) Vorkenntnisse: Programmieren Java, C++, Basic, Pascal, andere Vorlesung WS06/07 nein, ja/wiederholer, ja/fortsetzung andere PC Vorkenntnisse Textverarbeitung, Web, Windows / Unix Mathematik Matrizen / Vektoren, HM, Numerik eigener PC vorhanden Java Compiler für eigenen PC erwünscht Windows, Linux Wahl von Java Studienplan, Internet, interess. Sprache, Berufsaussichten Sprache Deutsch, Englisch

Java oder C++??? Zur Wahl der Veranstaltung ein kleines Beispiel in Java und C++ Aufgabe berechne alle Primzahlen im Bereich von 2 bis 999: 2 ist prim teste alle ungeraden Zahlen zahl = 3, 5, 7,...999 ob sie durch teiler = 3, 5, 7,... zahl teilbar sind

Java oder C++??? Zur Wahl der Veranstaltung ein kleines Beispiel in Java und C++ Aufgabe berechne alle Primzahlen im Bereich von 2 bis 999: 2 ist prim teste alle ungeraden Zahlen zahl = 3, 5, 7,...999 ob sie durch teiler = 3, 5, 7,... zahl teilbar sind

Primzahltest, Programmrahmen Java // alle Primzahlen von 2 bis 999 ausgeben public class PrimzahlTest { public static void main (String [] args) { // hier steht der Algorithmus } }

Primzahltest, Programmrahmen C++ // alle Primzahlen von 2 bis 999 ausgeben #include <iostream> using namespace std; int main () { // hier steht der Algorithmus }

Primzahltest, Algorithmus, Teil 1 Java // ein paar Variablen int zahl; int teiler; boolean prim; // Primzahl-Kandidat // moegliche Teiler // noch kein Teiler gefunden... // erst mal vorab: 2 ist prim System.out.print (2 + " "); // 2 und etwas Abstand ausgeben // dann alle ungeraden Zahlen von 3 bis 999 testen zahl = 3; // mit 3 beginnen

Primzahltest, Algorithmus, Teil 1 C++ // ein paar Variablen int zahl; int teiler; bool prim; // Primzahl-Kandidat // moegliche Teiler // noch kein Teiler gefunden... // erst mal vorab: 2 ist prim cout << 2 << " "; // 2 und etwas Abstand ausgeben // dann alle ungeraden Zahlen von 3 bis 999 testen zahl = 3; // mit 3 beginnen

Primzahltest, Algorithmus, Teil 2 Java // Schleife, alle ungeraden Zahlen bis 999 testen while (zahl <= 999) { // solange zahl noch im gewuenschten Bereic prim = true; // anfangs noch kein Teiler gefunden teiler = 3; //... oder durch 3, 5,...? // es kommen nur teiler <= Wurzel(zahl) in Frage, // wenn ein Teiler gefunden wurde (also prim = false ist), Test abbrec while (prim && teiler*teiler <= zahl) { // weitertesten? if (zahl % teiler == 0) // teilbar? prim = false; // dann ist es keine Primzahl teiler = teiler + 2; // naechsten ungerade Teiler ausprobieren } if (prim) // falls keine Teiler gefunden wurden, System.out.print (zahl + " "); // zahl ausgeben und etwas Abstand zahl = zahl + 2; // naechste ungerade Zahl } // noch ein Zeilenende ausgeben System.out.println ();

Primzahltest, Algorithmus, Teil 2 C++ // Schleife, alle ungeraden Zahlen bis 999 testen while (zahl <= 999) { // solange zahl noch im gewuenschten Bereic prim = true; // anfangs noch kein Teiler gefunden teiler = 3; //... oder durch 3, 5,...? // es kommen nur teiler <= Wurzel(zahl) in Frage, // wenn ein Teiler gefunden wurde (also prim = false ist), Test abbrec while (prim && teiler*teiler <= zahl) { // weitertesten? if (zahl % teiler == 0) // teilbar? prim = false; // dann ist es keine Primzahl teiler = teiler + 2; // naechsten ungerade Teiler ausprobieren } if (prim) // falls keine Teiler gefunden wurden, cout << zahl << " "; // zahl ausgeben und etwas Abstand zahl = zahl + 2; // naechste ungerade Zahl } // noch ein Zeilenende ausgeben cout << endl;

Vergleich von Java und C++ Java basiert auf C++ Viele Grundelemente gleich oder ähnlich

Vergleich von Java und C++ Java basiert auf C++ Viele Grundelemente gleich oder ähnlich Erweiterungen (Applets,...)

Vergleich von Java und C++ Java basiert auf C++ Viele Grundelemente gleich oder ähnlich Erweiterungen (Applets,...) Einschränkungen aus Sicherheitsgründen (keine Pointerarithmetik,...)

Vergleich von Java und C++ Java basiert auf C++ Viele Grundelemente gleich oder ähnlich Erweiterungen (Applets,...) Einschränkungen aus Sicherheitsgründen (keine Pointerarithmetik,...) Konsequente Objektorientierung

Vergleich von Java und C++ Java basiert auf C++ Viele Grundelemente gleich oder ähnlich Erweiterungen (Applets,...) Einschränkungen aus Sicherheitsgründen (keine Pointerarithmetik,...) Konsequente Objektorientierung Wichtige Änderungen bei Feldern, Parameterübergabe,...

Vergleich von Java und C++ Java basiert auf C++ Viele Grundelemente gleich oder ähnlich Erweiterungen (Applets,...) Einschränkungen aus Sicherheitsgründen (keine Pointerarithmetik,...) Konsequente Objektorientierung Wichtige Änderungen bei Feldern, Parameterübergabe,...

Link zu einem Java-Programm Das typische Hallo-Welt-Programm Hallo.java public class Hallo { public static void main (String [] args) { System.out.println ("Hallo Welt!"); } }

Was ist Java? Eigenständige Sprache Programme werden i.a. in eine portable Zwischensprache übersetzt und auf dem Zielsystem interpretiert. Zur Laufzeit werden ggf. die innersten Schleifen in Maschinencode übersetzt. Sammlung von Klassenbibliotheken Es können leicht fensterorientierte Programme erstellt werden, die sowohl z.b. unter X-Windows, als auch unter Microsoft Windows 9x bzw. NT/2000/XP, etc. ausgeführt werden können. Elemente: Fenster, Menüs, Ereignisgesteuerte Programme, etc.

Was ist Java? Eigenständige Sprache Programme werden i.a. in eine portable Zwischensprache übersetzt und auf dem Zielsystem interpretiert. Zur Laufzeit werden ggf. die innersten Schleifen in Maschinencode übersetzt. Sammlung von Klassenbibliotheken Es können leicht fensterorientierte Programme erstellt werden, die sowohl z.b. unter X-Windows, als auch unter Microsoft Windows 9x bzw. NT/2000/XP, etc. ausgeführt werden können. Elemente: Fenster, Menüs, Ereignisgesteuerte Programme, etc. Applets Kleine Programmstücke, die nicht selbständig ausgeführt, sondern in einem Internet-Browser wie Firefox oder MS-Internet-Explorer als Komponenten aufgerufen werden.

Was ist Java? Eigenständige Sprache Programme werden i.a. in eine portable Zwischensprache übersetzt und auf dem Zielsystem interpretiert. Zur Laufzeit werden ggf. die innersten Schleifen in Maschinencode übersetzt. Sammlung von Klassenbibliotheken Es können leicht fensterorientierte Programme erstellt werden, die sowohl z.b. unter X-Windows, als auch unter Microsoft Windows 9x bzw. NT/2000/XP, etc. ausgeführt werden können. Elemente: Fenster, Menüs, Ereignisgesteuerte Programme, etc. Applets Kleine Programmstücke, die nicht selbständig ausgeführt, sondern in einem Internet-Browser wie Firefox oder MS-Internet-Explorer als Komponenten aufgerufen werden. JavaScript Vereinfachtes Java, das direkt in HTML-Dokumente für das Internet eingefügt wird.

Was ist Java? Eigenständige Sprache Programme werden i.a. in eine portable Zwischensprache übersetzt und auf dem Zielsystem interpretiert. Zur Laufzeit werden ggf. die innersten Schleifen in Maschinencode übersetzt. Sammlung von Klassenbibliotheken Es können leicht fensterorientierte Programme erstellt werden, die sowohl z.b. unter X-Windows, als auch unter Microsoft Windows 9x bzw. NT/2000/XP, etc. ausgeführt werden können. Elemente: Fenster, Menüs, Ereignisgesteuerte Programme, etc. Applets Kleine Programmstücke, die nicht selbständig ausgeführt, sondern in einem Internet-Browser wie Firefox oder MS-Internet-Explorer als Komponenten aufgerufen werden. JavaScript Vereinfachtes Java, das direkt in HTML-Dokumente für das Internet eingefügt wird.

Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter)

Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter) einfache Sprache, auf Basis bekannter Sprache (Ähnlichkeit zu C++)

Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter) einfache Sprache, auf Basis bekannter Sprache (Ähnlichkeit zu C++) sicher (bewusste Einschränkungen beim Umfang)

Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter) einfache Sprache, auf Basis bekannter Sprache (Ähnlichkeit zu C++) sicher (bewusste Einschränkungen beim Umfang) multi-threaded,

Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter) einfache Sprache, auf Basis bekannter Sprache (Ähnlichkeit zu C++) sicher (bewusste Einschränkungen beim Umfang) multi-threaded, verteilte Anwendungen (Internet),

Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter) einfache Sprache, auf Basis bekannter Sprache (Ähnlichkeit zu C++) sicher (bewusste Einschränkungen beim Umfang) multi-threaded, verteilte Anwendungen (Internet), einfaches Erstellen von Window-Programmen (Klassenbibliotheken)

Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter) einfache Sprache, auf Basis bekannter Sprache (Ähnlichkeit zu C++) sicher (bewusste Einschränkungen beim Umfang) multi-threaded, verteilte Anwendungen (Internet), einfaches Erstellen von Window-Programmen (Klassenbibliotheken)

Geschichte von Java Projekt Green bei Sun Microsystems seit 1991 für Gerätesteuerungen ( Kabel-TV-Anschlussbox, Videorecorder,...), James Gosling u. a., z. B. Hoff/Shaio/Starbuck Nachfolger Oak, wegen Namenskonflikt umbenannt in Java, Einsatz als Sprache im Internet seit 1995

Geschichte von Java Projekt Green bei Sun Microsystems seit 1991 für Gerätesteuerungen ( Kabel-TV-Anschlussbox, Videorecorder,...), James Gosling u. a., z. B. Hoff/Shaio/Starbuck Nachfolger Oak, wegen Namenskonflikt umbenannt in Java, Einsatz als Sprache im Internet seit 1995 Ziele: Internetapplikationen, d. h. Programme werden beim Aufruf einer Webseite übertragen und ausgeführt.

Geschichte von Java Projekt Green bei Sun Microsystems seit 1991 für Gerätesteuerungen ( Kabel-TV-Anschlussbox, Videorecorder,...), James Gosling u. a., z. B. Hoff/Shaio/Starbuck Nachfolger Oak, wegen Namenskonflikt umbenannt in Java, Einsatz als Sprache im Internet seit 1995 Ziele: Internetapplikationen, d. h. Programme werden beim Aufruf einer Webseite übertragen und ausgeführt.

Versionen der Sprache Teil 1 1994: Entwicklung des Webbrowsers HotJava zur Demonstration der Leistungsfähigkeit der Sprache 1995: Java 1.0 erste, weborientierte Version der Sprache, Integration in die gängigen Browser von Netscape und Microsoft

Versionen der Sprache Teil 1 1994: Entwicklung des Webbrowsers HotJava zur Demonstration der Leistungsfähigkeit der Sprache 1995: Java 1.0 erste, weborientierte Version der Sprache, Integration in die gängigen Browser von Netscape und Microsoft 1997: Java 1.1 neues, effizienteres Eventhandling, Komponentenmodell JavaBeans, native-schnittstelle, Internationalisierung, zahlreiche kleinere Verbesserungen und Erweiterungen

Versionen der Sprache Teil 1 1994: Entwicklung des Webbrowsers HotJava zur Demonstration der Leistungsfähigkeit der Sprache 1995: Java 1.0 erste, weborientierte Version der Sprache, Integration in die gängigen Browser von Netscape und Microsoft 1997: Java 1.1 neues, effizienteres Eventhandling, Komponentenmodell JavaBeans, native-schnittstelle, Internationalisierung, zahlreiche kleinere Verbesserungen und Erweiterungen 1998: Java 2 SDK 1.2 neue Grafikbibliotheken Swing für die GUI-Entwicklung, Java 2D für 2D-Grafiken, weitere Ergänzungen

Versionen der Sprache Teil 1 1994: Entwicklung des Webbrowsers HotJava zur Demonstration der Leistungsfähigkeit der Sprache 1995: Java 1.0 erste, weborientierte Version der Sprache, Integration in die gängigen Browser von Netscape und Microsoft 1997: Java 1.1 neues, effizienteres Eventhandling, Komponentenmodell JavaBeans, native-schnittstelle, Internationalisierung, zahlreiche kleinere Verbesserungen und Erweiterungen 1998: Java 2 SDK 1.2 neue Grafikbibliotheken Swing für die GUI-Entwicklung, Java 2D für 2D-Grafiken, weitere Ergänzungen

Versionen der Sprache Teil 2 2000: Java 2 SDK 1.3 Verbesserungen in Details, bessere Performance des Interpreters, neue, ebenfalls kostenlose Entwicklungsumgebung Forte 2002: Java 2 SDK 1.4 Erweiterung der Sprache, Unterstützung von Assertions

Versionen der Sprache Teil 2 2000: Java 2 SDK 1.3 Verbesserungen in Details, bessere Performance des Interpreters, neue, ebenfalls kostenlose Entwicklungsumgebung Forte 2002: Java 2 SDK 1.4 Erweiterung der Sprache, Unterstützung von Assertions 2004: Java 5.0 Einfachere Eingabe, formatierte Ausgabe, Unterstützung für variable Argumentenlisten von Methoden, Unterstützung von generische Typen, Hilfsklassen für nebenläufige Programmierung im neuen Paket java.util.concurrent, Syntaktische Unterstützung für Aufzählungswerte, Statischer Import von Klassen

Versionen der Sprache Teil 2 2000: Java 2 SDK 1.3 Verbesserungen in Details, bessere Performance des Interpreters, neue, ebenfalls kostenlose Entwicklungsumgebung Forte 2002: Java 2 SDK 1.4 Erweiterung der Sprache, Unterstützung von Assertions 2004: Java 5.0 Einfachere Eingabe, formatierte Ausgabe, Unterstützung für variable Argumentenlisten von Methoden, Unterstützung von generische Typen, Hilfsklassen für nebenläufige Programmierung im neuen Paket java.util.concurrent, Syntaktische Unterstützung für Aufzählungswerte, Statischer Import von Klassen 2006: Java 6.0 Integrierte Datenbank JDBC, Schnittstelle zu Skriptsprachen,...

Versionen der Sprache Teil 2 2000: Java 2 SDK 1.3 Verbesserungen in Details, bessere Performance des Interpreters, neue, ebenfalls kostenlose Entwicklungsumgebung Forte 2002: Java 2 SDK 1.4 Erweiterung der Sprache, Unterstützung von Assertions 2004: Java 5.0 Einfachere Eingabe, formatierte Ausgabe, Unterstützung für variable Argumentenlisten von Methoden, Unterstützung von generische Typen, Hilfsklassen für nebenläufige Programmierung im neuen Paket java.util.concurrent, Syntaktische Unterstützung für Aufzählungswerte, Statischer Import von Klassen 2006: Java 6.0 Integrierte Datenbank JDBC, Schnittstelle zu Skriptsprachen,...

Literatur (eine Auswahl) D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 1, 3. Auflage, Hanser, 2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 2, 2. Auflage, Hanser, 2006 Regionales Rechenzentrum Niedersachsen: Java 2, Begleitmaterial zu Kursen, RRZN, Hannover, 2000, (Erhältlich bei BIT8000 im Rechenzentrum, 6,85 EUR)

Literatur (eine Auswahl) D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 1, 3. Auflage, Hanser, 2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 2, 2. Auflage, Hanser, 2006 Regionales Rechenzentrum Niedersachsen: Java 2, Begleitmaterial zu Kursen, RRZN, Hannover, 2000, (Erhältlich bei BIT8000 im Rechenzentrum, 6,85 EUR) C. Ullenboom: Java ist auch eine Insel, 6. Aufl., Galileo Computing, 2007 (Online unter www.galileocomputing.de/openbook/javainsel6/)

Literatur (eine Auswahl) D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 1, 3. Auflage, Hanser, 2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 2, 2. Auflage, Hanser, 2006 Regionales Rechenzentrum Niedersachsen: Java 2, Begleitmaterial zu Kursen, RRZN, Hannover, 2000, (Erhältlich bei BIT8000 im Rechenzentrum, 6,85 EUR) C. Ullenboom: Java ist auch eine Insel, 6. Aufl., Galileo Computing, 2007 (Online unter www.galileocomputing.de/openbook/javainsel6/)

Literatur (eine Auswahl) C. Heinisch, F. Müller, J. Goll: Java als erste Programmiersprache, 4. Auflage, B.G. Teubner, 2005 G. Fischer, J. Wolff v. Gudenberg: Programmieren in Java 1.5, Springer, Reihe Xpert.press, 2005

Literatur (eine Auswahl) C. Heinisch, F. Müller, J. Goll: Java als erste Programmiersprache, 4. Auflage, B.G. Teubner, 2005 G. Fischer, J. Wolff v. Gudenberg: Programmieren in Java 1.5, Springer, Reihe Xpert.press, 2005 E. Merker, R. Merker: Programmieren lernen mit Java, Vieweg, 2006.

Literatur (eine Auswahl) C. Heinisch, F. Müller, J. Goll: Java als erste Programmiersprache, 4. Auflage, B.G. Teubner, 2005 G. Fischer, J. Wolff v. Gudenberg: Programmieren in Java 1.5, Springer, Reihe Xpert.press, 2005 E. Merker, R. Merker: Programmieren lernen mit Java, Vieweg, 2006. R. Schiedermeier: Programmieren mit Java - eine methodische Einführung, Pearson Studium, 2005

Literatur (eine Auswahl) C. Heinisch, F. Müller, J. Goll: Java als erste Programmiersprache, 4. Auflage, B.G. Teubner, 2005 G. Fischer, J. Wolff v. Gudenberg: Programmieren in Java 1.5, Springer, Reihe Xpert.press, 2005 E. Merker, R. Merker: Programmieren lernen mit Java, Vieweg, 2006. R. Schiedermeier: Programmieren mit Java - eine methodische Einführung, Pearson Studium, 2005 The Java Tutorials

Literatur (eine Auswahl) C. Heinisch, F. Müller, J. Goll: Java als erste Programmiersprache, 4. Auflage, B.G. Teubner, 2005 G. Fischer, J. Wolff v. Gudenberg: Programmieren in Java 1.5, Springer, Reihe Xpert.press, 2005 E. Merker, R. Merker: Programmieren lernen mit Java, Vieweg, 2006. R. Schiedermeier: Programmieren mit Java - eine methodische Einführung, Pearson Studium, 2005 The Java Tutorials