1. Der Einstieg in Java

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

1. Der Einstieg in Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Java Lexikalische Struktur

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

Grundlagen der Modellierung und Programmierung, Übung

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

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

Wo sind wir? Übersicht lexikale Struktur von Java

Java-Schulung Grundlagen

3. Java - Sprachkonstrukte I

5 Grundlagen der Java-Syntax

Einführung in die Informatik

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I

Programmiervorkurs. Wintersemester 2013/2014

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Programmieren I + II Regeln der Code-Formatierung

Java - Programmierung - Prozedurale Programmierung 1

Programmieren I + II Regeln der Code-Formatierung

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

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

Java I Vorlesung Imperatives Programmieren

Programmiervorkurs Einführung in Java Tag 1

II.1.1. Erste Schritte - 1 -

Welche Informatik-Kenntnisse bringen Sie mit?

MiniJava-Sprachbericht Version 3.1

II.1.1. Erste Schritte - 1 -

Programmieren und Problemlösen Java-Sprachkonstrukte. Java-Sprachkonstrukte. Übung Altersberechner. Namen und Bezeichner. Namen und Bezeichner

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16

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

Fragenkatalog ESOP WS 16/17

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Elementare Konzepte von

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare

II.1.1. Erste Schritte - 1 -

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

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

2 Programmieren in Java I noch ohne Nachbearbeitung

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Einführung in die Programmierung. 2.1 Methoden. Thomas R. Gross. Department Informatik ETH Zürich

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Übungsblatt 1. Java Vorkurs (WS 2017)

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

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Vorkurs Informatik WiSe 16/17

II.1.1. Erste Schritte - 1 -

Empfehlenswerte Literatur

System.out.println("TEXT");

Einführung in die Programmierung I. 8. Prozedurale Konzepte in Java, Teil1. Stefan Zimmer

Java-Applikationen (Java-Programme)

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

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Fortgeschrittene Programmierungsmethoden

Einführung in die Programmierung 1

RO-Tutorien 15 und 16

2 Imperative Sprachkonzepte

Programmierpraktikum Java Entdecken Merkblatt 2

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Einführung in die Programmierung mit BlueJ

Vorkurs Informatik WiSe 17/18

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Ausdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI

Grundlagen von C# - 1

Grundelemente objektorientierter Sprachen (1)

Anweisungen zur Ablaufsteuerung

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Unterlagen. CPP-Uebungen-08/

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Java: Eine kurze Einführung an Beispielen

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

RO-Tutorien 3 / 6 / 12

Übungen zu Programmieren - Code-Formatierung -

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

Die einfachsten Anweisungen

Einfache Datentypen in JAVA

Grundelemente objektorientierter Sprachen (1)

Kapitel 2: Grundelemente der Programmierung

3. Anweisungen und Kontrollstrukturen

Ein erstes Java-Programm

SE2-6. Übung Johannes Bürdek

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

Java Spickzettel von Panjutorials.de

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

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

Javakurs für Anfänger

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Transkript:

1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels wirst Du 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).

Was heißt Programmieren? 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

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

Java Quellprogramm Java Compiler Java Bytecode Java VM für Windows 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

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.)

Problem Welches Problem ist zu lösen? Was erwarte ich von meiner Lösung? Analyse / Modellierung algorithmische Beschreibung Wie lässt sich das Problem lösen? Programmierung / Codierung Programm Wie bringe ich meine Idee dem Rechner bei? Z.B. durch ein Java Programm? Übersetzung / Compilierung ausführbares Programm Wie muss der ausführbare Code aussehen? Z.B. Java Bytecode oder Maschinencode? Ausführung / Interpretierung Problemlösung Ist das Problem gelöst?

Mein erstes Java-Programm public class Berechnung { public static void main(string[] args) { int i; i = 3 + 4; System.out.println(i); } } Das Programm berechnet 3 plus 4 und gibt das Ergebnis aus! - Compilierung und Ausfü hrung

Ausdruck, Variable, Zuweisung 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.

Ganze Zahlen und Gleitkommazahlen 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

Variablendeklaration int i; 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). 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).

Methodenaufruf System.out.println(i); 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 wollen. Hier: der Wert der Variablen i. ü bergeben Die Methode System.out.println ist flexibel einsetzbar. Statt einer Zahl kö nnen wir auch Text ausgeben lassen: System.out.println("Das Ergebnis ist: "); System.out.println(i);

Will man beides in einer Zeile ausgeben, kö nnen wir System.out.print("Das Ergebnis ist: "); System.out.println(i); oder System.out.println("Das Ergebnis ist: " + i); verwenden.

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 Du den Quelltext der Klasse speichern, muss Klassenname.java lauten.

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 mu sst Du bis auf weiteres genau so wie hier angegeben verwenden.

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... */

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 */

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.

- Reservierte Wö rter dü rfen nicht als Bezeichner verwendet werden. Gü ltige Bezeichner (in Java): Hallo Welt _H_A_L_L_O_ hallo123 hallo 123 Keine gü ltigen Bezeichner (in Java) sind: 101Dalmatiner Das war s Hallo Welt class beginnt mit einer Ziffer Das Zeichen ist nicht erlaubt Leerzeichen ist nicht erlaubt ist ein reserviertes Wort

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.

Reservierte Wö rter und Schlü sselwö rter 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

Trennzeichen und Interpunktionszeichen Zu welcher Pferderasse gehö ren Blumentopferde? Heißt es der, die oder das Kuhliefumdenteich? Auch der Java-Compiler muß in der Lage sein, einzelne Wö rter und Literale voneinander zu trennen. Hierzu dienen: Bezeichner, reservierte Leerzeichen Zeilenendezeichen Tabulatorzeichen Kommentare Operatoren (z.b. + oder *) Interpunktionszeichen., ; ) ( { } [ ]

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)

Operatorsymbole 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;

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.