Einführung

Werbung
Einführung
Willkommen zu Vorlesung + Praktikum
Programmieren 2
© Prof. Dr. H. Gläser, Programmieren 2
Einführung
zur Person:
•Harald Gläser
•Sprechstunde: Dienstag 12:45 C2.07
•[email protected]
•Webpage mit Lehrmaterial:
http://www.informatik.hs-furtwangen.de/~glaeser/
© Prof. Dr. H. Gläser, Programmieren 2
Einführung
zur Vorlesung und Praktikum:
Fragen gleich stellen !
„Selbsttests“ evtl. Tutorium
2 Prüfungslstg.:
a) Klausur
Die Tests spielen für Scheine keine Rolle
b) Praktikum: I) Alle Aufgaben müssen von jedem
selbständig innerhalb der
Praktikumsstunden
bearbeitet werden (kein “leeres Blatt”,
beim 2. Fehlen: ärztliches Attest).
II) 13 von 13 Aufgaben müssen
bestanden werden.
III) Abgabe jeweils nächste Woche
© Prof. Dr. H. Gläser, Programmieren 2
Einteilung in 2 Übungsgruppen
Bitte in Praktikumslisten eintragen !
Erster Praktikumstermin: 25.März Treffpunkt 14.00 C1.20
Jeder geht mit seinen Betreuern zum Praktikumsraum
im email - UFO System anmelden !!
Link zu UFO:
http://www.hs-furtwangen.de/fachbereiche/in/deutsch/intranet/uf/?tg=0
Spale
© Prof. Dr. H. Gläser, Programmieren 2
„Skript - Vorlesung“kaufen:
www.informatik.hs-furtwangen.de\~glaeser
Nr. 705
regelmäßig bestimmte Abschnitte lesen
Vorlesungszeit: Fragen klären, Übungen, Selbsttest
© Prof. Dr. H. Gläser, Programmieren 2
Einführung
Klausurtermin: 22.7.09 14:00 Raum: Aula
© Prof. Dr. H. Gläser, Programmieren 2
Texte zu Java
http://Java.sun.com/docs/books/tutorial
HFU Bibliothek Suchwort: Java
Objektorientierte Programmierung in Java
Otto Rauh
Vieweg
ISBN 3-528-15721-6
Java Nachschlagewerk:
Java g-packt
H. Schildt, Joe O’Neil
mitp Verlag
Isbn 3-8266-0716-3
Java ist auch eine Insel (C. Ullenboom)
http://www.galileocomputing.de/openb
ook/javainsel6/
Besonders Einsteiger mit
Programmierkenntnissen und
Industrieprogrammierer
profitieren von diesem
umfassenden Werk.
© Prof. Dr. H. Gläser, Programmieren 2
Thinking in Java
Bruce Eckel, 1997
Fachhochschule Furtwangen Nr.398 IS 10/98
19,40 DM
Umstieg auf Java
O.Borkner-Delcarlo, 1998
Hanser Verlag , Internet:http://www.hanser.de
Java in 21 Tagen
Laura Lemay, Charles L. Perkins, 1996
SAMS, Markt&Technik
Sprechen Sie Java
Hanspeter Mössenböck
dpunkt.verlag
ISBN 3-89864-231-3
Einführung, aber nicht so stark auf
Objektorientierung konzentriert
Gemeinsamkeiten und Unterschied C und Java
http://www.db.informatik.uni-kassel.de/Help/www/java21days/anh_d.htm
Klassen und Objekte
Objekte sind in Java Zusammenfassung von verschiedenen
Daten (ähnlich einem struct) und Unterprogrammen, die auf
den Daten arbeiten.
Objekte werden in Klassen beschrieben.
Eine Klasse definiert auch einen Datentyp. (sogenannte
komplexer Datentyp)
Es gibt in Java auch die von C bekannten „normalen „
Datentypen wie int, double etc. (sogenannte einfache
Datentypen)
© Prof. Dr. H. Gläser, Programmieren 2
Gemeinsamkeiten und Unterschied C und Java
Programmrahmen
/*** Kommentar */
... Daten Deklarationen
main() {
...Befehle...
return (0);
}
C
Java
class Klasse {
/** Kommentar */
public static void main(String[] args) {
...Befehle...
}
}
© Prof. Dr. H. Gläser, Programmieren 2
Gemeinsamkeiten und Unterschied C und Java
Bildschirmausgabe
#include <stdio.h>
C
(void) printf(„Hello World“\n);
Java
System.out.println(„Hello World“);
Operatoren, Klammern Java = C
Deklarationen Java = C, aber in Java kann überall deklariert werden
aber Sichtbarkeit hängt vom Deklarationsort ab!
© Prof. Dr. H. Gläser, Programmieren 2
Kurzschlussoperatoren
&& (Und) || (Oder)
Der zweite Operand wird gegebenenfalls nicht ausgewertet.
Nicht-Kurzschlussoperatoren
| und & erzwingt eine Auswertung aller Teilausdrücke.
Beispiel:
// foo() wird nicht aufgerufen
foo(); // foo() wird aufgerufen
boolean b1 = true || foo();
boolean b2 = false &
if (objektvariable != null && objektvariable.zahl == 5)
Für Xor kann es keinen Kurzschlussoperator geben, da immer
beide Operanden ausgewertet werden müssen
© Prof. Dr. H. Gläser, Programmieren 2
Gemeinsamkeiten und Unterschied C und Java
int, long, float, double
Heißen in Java und C genauso. In Java ist der für einen
Datentyp reservierte Speicherplatz genormt
struct, union und typedef
Die Zusammensetzung von Datentypen wird in Java
ausschließlich durch Verwendung von Klassendefinitionen
erreicht. Die Schlüsselwörter struct, union und typedef
wurden zugunsten von Klassen weggelassen.
© Prof. Dr. H. Gläser, Programmieren 2
Gemeinsamkeiten und Unterschied C und Java
Pointer
Java hat keinen expliziten Pointer-Typ. (Aber Objektvariablen)
Arrays
Arrays sind in Java vor allem Klassenobjekte. Referenzen
auf Arrays und ihre Inhalte werden nicht durch PointerArithmetik, sondern durch explizite Referenzen realisiert.
Die Array-Grenzen werden streng eingehalten. Ein
Versuch, über das Ende eines Arrays hinaus zu lesen, führt
zu einem Kompilier- oder Laufzeitfehler. Java unterstützt
multidimensionalen Arrays nicht genauso wie C und C++.
In Java werden Arrays erstellt, die andere Arrays enthalten.
© Prof. Dr. H. Gläser, Programmieren 2
Gemeinsamkeiten und Unterschied C und Java
Strings
Strings sind in C und C++ Zeichenketten, die mit einem
Nullzeichen (\0) enden. Strings werden genauso behandelt
wie andere Arrays, mit allen innewohnenden Schwierigkeiten,
d. h. die Pointer-Arithmetik zu verfolgen und das Ende des
Arrays nicht zu überschreiten.
In Java sind Strings Objekte. Strings werden nicht durch eine
Null beendet und das Ende eines Strings kann nicht
versehentlich überschritten werden
© Prof. Dr. H. Gläser, Programmieren 2
Gemeinsamkeiten und Unterschied C und Java
boolean
Java: die booleschen primitiven Datentypen können zwei
Werte haben: true oder false. Der boolesche Datentyp ist
keine Ganzzahl und kann auch nicht als solche behandelt
werden, da in Java auf boolesche Typen keine 0 oder 1
(Ganzzahlen) abgebildet werden können.
© Prof. Dr. H. Gläser, Programmieren 2
Gemeinsamkeiten und Unterschied C und Java
Programmsteuerung
Obwohl die Anweisungen if, while, for und do in Java
syntaktisch gleich sind wie in C und C++, gibt es einen
entscheidenden Unterschied. Das Testkriterium für jedes
Entscheidungsgebilde muss einen tatsächlichen booleschen
Wert (true oder false) ausgeben. In C und C++ kann der
Ausdruck eine Ganzzahl ausgeben.
Seit java 1.5 gibt es einen neuen Typ von for Schleife ohne
Indexvariable
© Prof. Dr. H. Gläser, Programmieren 2
Java installieren
www.java.sun.com
Java SE
JDK 6
siehe Studienbrief 3
© Prof. Dr. H. Gläser, Programmieren 2
Herunterladen