1. Der Einstieg in Java. Was heißt Programmieren?



Ähnliche Dokumente
1. Der Einstieg in Java

1. Der Einstieg in Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Java-Schulung Grundlagen

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Java Lexikalische Struktur

Einführung in die Programmierung

Programmierkurs Java

Einführung in Javadoc

Computeranwendung und Programmierung (CuP)

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

II.1.1. Erste Schritte - 1 -

Diana Lange. Generative Gestaltung Operatoren

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

Grundlagen der Modellierung und Programmierung, Übung

Programmierung in C. Grundlagen. Stefan Kallerhoff

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Einführung in die Programmierung

Einführung in die Java- Programmierung

Einführung in die C++ Programmierung für Ingenieure

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java: Vererbung. Teil 3: super()

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Tutorium Rechnerorganisation

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5 Grundlagen der Java-Syntax

Übungsblatt 3: Algorithmen in Java & Grammatiken

5. Tutorium zu Programmieren

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Programmieren in Java

Pragmatik von Programmiersprachen

Java Kurs für Anfänger Einheit 5 Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Objektorientierte Programmierung

1 Vom Problem zum Programm

5.4 Klassen und Objekte

5. Abstrakte Klassen

3. Java - Sprachkonstrukte I

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Musterlösungen zur Klausur Informatik 3

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Innere Klassen in Java

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Dr. Monika Meiler. Inhalt

Einführung in die Programmierung (EPR)

Prüfung Computation, Programming

Klausur in Programmieren

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Vorlesung Informatik II

Vorkurs Informatik WiSe 15/16

Delegatesund Ereignisse

I.1 Die Parrot Assemblersprache

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Angewandte Mathematik und Programmierung

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Modellierung und Programmierung 1

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

Deklarationen in C. Prof. Dr. Margarita Esponda

Testklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten

3. Java - Sprachkonstrukte I

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

3. Java - Sprachkonstrukte I

Einführung in die C-Programmierung

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

IT-Basics 2. DI Gerhard Fließ

Primitive Datentypen

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

1 Mathematische Grundlagen

3 Objektorientierte Konzepte in Java

2. Semester, 2. Prüfung, Lösung

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1

Einführung in die Programmierung mit BlueJ

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

25 kann ohne Rest durch 5 geteilt werden! ist wahr

Ein erstes Java-Programm

Transkript:

1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung von Java-Programmen kennen, einfachste Java-Programme erstellen können und Regeln zur Formatierung von Java-Quelltext beherrschen (Übungen). Ein Übersetzer, der problemorientierte Programme in maschinennahe Programme transformiert, heißt Compiler. Werden Programme nicht vollständig übersetzt und später ausgeführt, sondern Anweisung für Anweisung übersetzt und später ausgeführt, spricht man von einem Interpreter. Der Java-Compiler übersetzt das sogenannte Quellprogramm in Java-Bytecode, der unabhängig von einem bestimmten Prozessor ist. Der Java-Interpreter analysiert den erzeugten Bytecode schrittweise und führt ihn aus. virtuelle Maschine (VM), Plattformunabhängigkeit Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 10 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 12 Was heißt Programmieren? Java Quellprogramm Ein Programm ist ein Algorithmus, der in einer Programmiersprache formuliert ist. Arten von Programmiersprachen: Maschinensprache ist eine Sprache, die der Prozessor des Rechners direkt versteht. Notation aus Nullen und Einsen, schwer lesbar Assembler: Jedem binären Maschinencode ist für die leichtere Lesbarkeit ein Assemblercode aus Buchstaben und Ziffern zugeordnet. Abhängigkeit vom Prozessortyp Höhere bzw. problemorientierte Programmiersprachen: Es stehen Operationen zur Verfügung, die nicht eins-zu-eins auf eine Operation des Prozessors abgebildet werden können. einfachere Programmierung, nichttriviale Übersetzung in Maschinensprache notwendig Java VM für Windows Java Compiler Java Bytecode Java VM für Linux Java VM für Mac OS X ausführbares ausführbares ausführbares Windows Linux Mac OS X Programm Programm Programm Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 11 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 13

Programmieren bedeutet, unter Einsatz einer Programmiersprache ein gegebenes Problem zu lösen. Hierfür sind eine Reihe von Arbeitsschritten notwendig, z.b.: Analyse, Modellierung, Codierung, Compilierung, Ausführung Das Schreiben des Programmtextes ist die Codierung. Dies geschieht unter Einsatz eines Texteditors. Meistens weisen Programme nach der erstmaligen Codierung Fehler auf. Dies können sein: Syntaxfehler (Fehler in der Grammatik) Semantikfehler (Das Programm macht nicht das, was es soll.) Mein erstes Java-Programm public class Berechnung { public static void main(string[] args) { int i; i = 3 + 4; Das Programm berechnet 3 plus 4 und gibt das Ergebnis aus! Compilierung und Ausführung Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 14 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 16 Welches Problem ist zu lösen? Problem Was erwarte ich von meiner Lösung? Ausdruck, Variable, Zuweisung Analyse / Modellierung Programmierung / Codierung Übersetzung / Compilierung Ausführung / Interpretierung algorithmische Beschreibung Programm ausführbares Programm Wie lässt sich das Problem lösen? Wie bringe ich meine Idee dem Rechner bei? Z.B. durch ein Java Programm? Wie muss der ausführbare Code aussehen? Z.B. Java Bytecode oder Maschinencode? i = 3 + 4; Rechts vom Gleichheitszeichen findet eine Berechnung statt. Solch eine Berechnungsvorschrift heißt Ausdruck. Zu einem Ausdruck gehört immer ein Wert. Links steht der Name einer Variablen (hier i). Dieser wird der Wert des Ausdrucks zugewiesen. Man bezeichnet dies als Zuweisung. Eine Zuweisung ist eine spezielle Form einer Anweisung. Einfache Anweisungen werden durch ein Semikolon (;) abgeschlossen. Problemlösung Ist das Problem gelöst? Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 15 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 17

Ganze Zahlen und Gleitkommazahlen Methodenaufruf Java unterscheidet zwischen ganzen Zahlen und Gleitkommazahlen. Beispiele für ganze Zahlen: 0 1-1 2147483647 Beispiele für Gleitkommazahlen: 0.0 1.0-1.0 2147483647.0 42.314159-3.7E2 1.9E-17.12345 System.out.println ist der Name einer Methode (ein Unterprogramm), mit der wir Text und Zahlen auf dem Bildschirm ausgeben können. In Klammern folgt nach dem Methodenname das, was wir der Methode übergeben wollen. Hier: der Wert der Variablen i. Die Methode System.out.println ist flexibel einsetzbar. Statt einer Zahl können wir auch Text ausgeben lassen: System.out.println("Das Ergebnis ist: "); Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 18 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 20 int i; Variablendeklaration Damit geben wir bekannt, daß wir eine Variable mit dem Namen i verwenden wollen. Wir bezeichnen dies als Variablendeklaration. In Java gilt streng: Jede Variable muß vor ihrer Verwendung deklariert werden (declare before use). Will man beides in einer Zeile ausgeben, können wir System.out.print("Das Ergebnis ist: "); oder System.out.println("Das Ergebnis ist: " + i); verwenden. Ebenfalls gilt streng: Zu jeder Variablen gehört ein Datentyp. Hier int, d.h. ganze Zahlen (genauer ganze Zahlen zwischen 2 31 und 2 31 1). Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 19 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 21

Blöcke Java nutzt zur Strukturierung des Quelltextes sogenannte Blöcke. Ein Block wird durch { und eingeschlossen. Unser Beispielquelltext hat zwei Blöcke: 1. Die Klasse Eine Klasse ist in Java die oberste Struktureinheit. Sie sieht folgendermaßen aus: public class Klassenname {... Wichtig: Der Dateiname, in der Sie den Quelltext der Klasse speichern, muß Klassenname.java lauten. Kommentare Wenn wir (oder andere) nach längerer Zeit einen Java-Quelltext analysieren, werden wir uns u.u. nicht mehr an den Sinn jeder Anweisung erinnern. Deshalb ist die Kommentierung von Programmen von großer Wichtigkeit. Java bietet hierfür drei verschiedene Möglichkeiten: Zeilenkommentar a = b + c; // dies ist ein Kommentar Mehrzeiliger Kommentar /* Kommentar... mehr Kommentar... letzte Kommentarzeile... */ Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 22 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 24 2. Die Hauptmethode Methoden sind Struktureinheiten unterhalb von Klassen. Jede Klasse, die ein ausführbares Programm darstellen soll, muß eine Methode mit dem Namen main besitzen: public static void main(string[] args) {... Den Rest der ersten Zeile der Methode müssen Sie bis auf weiteres genau so wie hier angegeben verwenden. Erläuterungen zu Übersetzung und Ausführung. Dokumentationskommentar Solche Kommentare beginnen mit /** und enden mit */. Es sind spezielle Kommentare, aus denen mit dem Programm javadoc eine HTML-Dokumentation in standardisierter Form erzeugt werden kann. /** * Dieses Programm berechnet die Lottozahlen von naechster * Woche. Dabei erreicht es im Schnitt eine Genauigkeit * von 99,5% * * @author Hans Mustermann * @date 1998-10-26 * @version 1.0 */ Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 23 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 25

Bezeichner Wir werden später oft in die Verlegenheit kommen, irgendwelchen Dingen Namen geben zu müssen, z.b. einer Variablen als Platzhalter, um eine Rechnung mit verschiedenen Werten durchführen zu können. In Programmiersprachen heißen solche Namen Bezeichner. Bezeichner bestehen aus: Buchstaben a,b,...,y,z,a,...,z dem Unterstrich dem Dollarzeichen $ Ziffern 0,...,9 Darüberhinaus gelten folgende Regeln: Bezeichner müssen mit einem Buchstaben, dem Unterstrich oder dem Dollarzeichen beginnen. Literale Ein Literal bzw. eine Literalkonstante beschreibt einen konstanten Wert, der sich innerhalb eines Programms nicht ändern kann. Literale haben, abhängig von ihrem Typ, vorgeschriebene Schreibweisen: ganze Zahlen (z.b. 23 oder -166), Gleitkommazahlen (z.b. 3.14), Wahrheitswerte (true und false), einzelne Zeichen (z.b. a ), Zeichenketten (z.b. "Hallo Welt"), das sogenannte Null-Literal für Referenzen, dargestellt durch die Literalkonstante null. Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 26 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 28 Reservierte Wörter dürfen nicht als Bezeichner verwendet werden. Reservierte Wörter und Schlüsselwörter Gültige Bezeichner (in Java): Hallo Welt _H_A_L_L_O_ hallo123 hallo 123 Keine gültigen Bezeichner (in Java) sind: 101Dalmatiner beginnt mit einer Ziffer Das war s Das Zeichen ist nicht erlaubt Hallo Welt Leerzeichen ist nicht erlaubt class ist ein reserviertes Wort Schlüsselwörter sind Wörter, die mit einer vordefinierten symbolischen Bedeutung belegt sind. Solche Schlüsselwörter dürfen ebenso wie die Literalkonstanten true, false und null nicht als Bezeichner verwendet werden. abstract assert boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 27 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 29

Trennzeichen und Interpunktionszeichen Operatorsymbole Zu welcher Pferderasse gehören Blumentopferde? Heißt es der, die oder das Kuhliefumdenteich? Auch der Java-Compiler muß in der Lage sein, einzelne Bezeichner, reservierte Wörter und Literale voneinander zu trennen. Hierzu dienen: Leerzeichen Zeilenendezeichen Tabulatorzeichen Kommentare Operatoren (z.b. + oder *) Interpunktionszeichen., ; ) ( { [ ] Operatoren sind spezielle Symbole, die dazu dienen, jeweils bis zu drei unterschiedliche Werte die Operanden zu einem neuen Wert zu verknüpfen. Wir unterscheiden die Operatoren nach der Anzahl ihrer Operanden: monadische Operatoren sind Operatoren, die nur einen Operanden benötigen. Beispiele: ++ oder -- dyadische Operatoren vernüpfen zwei Operanden. Beispiele: +, - oder == triadische Operatoren verknüpfen drei Operanden. Davon gibt es in Java nur einen: signum = x >= 0? 1 : -1; Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 30 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 32 Operatoren und Interpunktionszeichen haben in Java eine besondere Bedeutung. Sie dürfen daher nur dort eingesetzt werden, wo sie hingehören. Bezeichner, reservierte Wörter und Literale müssen durch mindestens eines der obigen Symbole voneinander getrennt werden. Hierbei ist es in Java eigentlich egal, welche Trennzeichen man verwendet und wie viele davon. Die Zeile public static void main (String[] args) ist äquivalent zu den folgenden Zeilen: public static/* */void main( //... String[] args) import-anweisung Viele Dinge, die wir in Java benötigen, befinden sich nicht im Kern der Sprache, sondern sind in Klassen ausgelagert, die sich wiederum in Paketen befinden. Dies gilt z.b. für die Bildschirmausgabe oder mathematische Funktionen wie Sinus oder Cosinus. Die meisten solcher Klassen müssen explizit importiert werden. Hierzu dient die import-anweisung. Beispielsweise sorgt die Anweisung import java.io.*; dafür, daß alle Klassen des Pakets java.io importiert werden und somit für die Programmierung benutzt werden können. import-anweisungen stehen vor der Klassendefinition. Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 31 Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 07 33