Objektorientiertes Programmieren (Java)

Ähnliche Dokumente
Einführung in die Programmierung 1

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

JAVA - Methoden

JAVA - Methoden - Rekursion

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

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

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Welche Informatik-Kenntnisse bringen Sie mit?

Programmieren I + II Regeln der Code-Formatierung

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

Greenfoot: Verzweigungen

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

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

Javakurs für Anfänger

5. Tutorium zu Programmieren

Objektorientierte Programmierung OOP Programmieren mit Java

Einstieg in die Informatik mit Java

Probeklausur: Programmierung WS04/05

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Repetitorium Informatik (Java)

Einstieg in die Informatik mit Java

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002

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

JAVA-Datentypen und deren Wertebereich

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

5 Grundlagen der Java-Syntax

public class SternchenRechteckGefuellt {

Einführung in die Java- Programmierung

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

Vorlesung Programmieren

Programmierkurs Java

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Processing Info zu Variablen und Bedingungen

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

Grundwissen Informatik JS September 2015

Java: Vererbung. Teil 3: super()

Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.

Einstieg in die Informatik mit Java

AuD-Tafelübung T-B5b

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

Kapitel 3: Variablen

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

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

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi

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

Übungsblatt 3: Algorithmen in Java & Grammatiken

Probeklausur: Programmierung WS04/05

Einführung in die C-Programmierung

Kapitel 6. Vererbung

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

Java Einführung Methoden in Klassen

Software Engineering Klassendiagramme Einführung

Informatik B von Adrian Neumann

Java Einführung Methoden. Kapitel 6

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

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

5.4 Klassen und Objekte

Objective-C CheatSheet

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

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Arbeiten mit JavaKara

Vorkurs Informatik WiSe 15/16

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Einführung in die Java- Programmierung

Javakurs für Anfänger

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Übungsblatt 4. Java Vorkurs (WS 2015)

Einführung in die Informatik

Klassendiagramme in UML.

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Methoden (fortgeschritten) in C# - 1

Selbsteinstufungstest Vorkurs Programmieren

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

3. Anweisungen und Kontrollstrukturen

1. Der Einstieg in Java

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

PROGRAMMIERUNG IN JAVA

Primitive Datentypen

Kapitel 6. Vererbung

Die Programmiersprache C Eine Einführung

Java Programme bestehen aus Klassen, die Objekte der

Objektorientiertes Programmieren für Ingenieure

Java Einführung Programmcode

Kapitel 6. Vererbung

Algorithmen und Datenstrukturen 07

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Ein erstes Java-Programm

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Objektorientierte Programmierung

Grundlagen der Programmierung

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Transkript:

Grundlagen Objektorientiertes Programmieren (Java) Java folgt gewissen Rechtschreibregeln die Syntax. Diese besagt, dass hinter jeden Befehl ein Semikolon( ; ) stehen muss, damit der Computer weiß, dass der Befehl jetzt zu Ende ist und er zum nächsten gehen kann. Jede Methode (z.b. if ) (Für genaueres siehe Methoden) braucht einen Rückgabetyp (Siehe Methoden) Namen, eine öffnende und schließende runde klammer ( () ) und eine öffnende und schließende geschweifte Klammer ( { ). Was genau in diese Klammer kommt, wird später behandelt. Alles was hinter // steht, wird vom Computer ignoriert. Hier kannst du Notizen schreiben. Java führt den geschriebenen Code innerhalb von Klassen und/oder Methoden (Siehe Startund Fachklasse und Methoden ) immer von unten nach oben aus. Was also zuletzt geschrieben wurde ist aktuell. Ein Beispiel: int test; test = 1; test = 2; System.out.println(zahl); Dieser Code gibt die Zahl 2 aus, da die Variable test zwar zuerst dem Wert 1 zugewiesen wurde, aber gleich darauf durch 2 ersetzt wurde. 2 ist daher neuer und wird ausgegeben, wenn wir dem Computer sagen, er soll den Inhalt der Variable test ausgeben. Kreuze die richtige Schreibweise an! int test int test: int test; Antwort 3 Was wird ausgegeben? Int zahl; String wort; wort = Zahl ; zahl = 5; wort = Java ; //wort = ist blöd ; System.out.println(wort); Java 1

Datentypen Um korrekt mit Variablen arbeiten zu können, müssen wir diese deklarieren (=erstellen) können. Das Problem hierbei ist: der PC ist nicht so schlau wie wir. Wenn wir 1 lesen wissen wir, dass es eine Zahl ist. Wenn wir Baum lesen wissen wir, dass es ein Wort ist. Der PC weis das nicht. Aus diesem Grund geben sagen wir ihm, um was es sich handelt. Dabei gibt es folgende Datentypen: Kurzform Voller Name Deutsch Beispiel ACHTUNG int integer Ganzzahl 2 - double double Kommazahl mit 2 Kein Komma sondern 6.66 Nachkommastellen Punkt String String Zeichenkette (=Wort) Langweilig Immer in Gänsefüßchen boolean boolean Wahr oder falsch true Kleinschreibung Wir schreiben immer die Kurzform vor die Variable. Beispiel: double kommazahl = 2.5; String wort = Gänsefüßchen ; Achtung: einmal Wort, immer Wort! Solltest du der variable wort irgendwann eine zahl zuordnen ( nicht 1 sondern 1 ), dann kannst du damit nicht rechnen. Ordne den werten den richtigen Datentyp zu! Baum true 5 6.66 false Was ergibt folgender Ausdruck? String zahl1 = 1 ; String zahl2 = 2 ; System.out.println(zahl1+zahl2); Baum String true boolean 5 int (integer) 6.66 double false String 12 2

Start- und Fachklasse Startklasse Im Unterricht wird unterschieden zwischen der Start- und der Fachklasse. Die Startklasse, im Unterricht bezeichnet mit Start ist die Klasse, welche folgende Methode beinhaltet: public static void main(string[] args){... Diese gibt es nur ein Mal und beschreibt den Ablauf des Programmes. Was hier steht wird Linie nach Linie von oben nach unten ausgeführt (Siehe Grundlagen). Fachklasse Neben der Startklasse, gibt es auch noch eine (oder mehrere) Fachklasse(n). Diese sind Objekte, d.h. Dinge, die jeweils gleiche Eigenschaften haben z.b. die Klasse Schüler. Jeder Schüler hat ein Geschlecht, ein Alter, einen Namen und ein Gewicht (natürlich noch viel mehr, aber das reicht vorerst). Zu Beginn der Fachklasse solltest du diese Eigenschaften (=Attribute) festlegen. Wichtig hierbei ist, dass du vor jedes Attribut das Wort private schreibst. Damit verhinderst du, dass andere Klassen direkt auf diese zugreifen können. Was in der Fachklasse steht, wird nicht automatisch ausgeführt, sondern nur, wenn es von der Startklasse aufgerufen wird. Mit dem Erstellen der Fachklasse erstellst du auch einen Datentyp, der den Attributen (und Methoden) der Klasse entspricht. Das heißt, dass du neben int, String, double und boolean jetzt auch Schüler als Datentyp hast. Somit weiß der PC, dass die Variable ein Alter, Gewicht, Name und Geschlecht hat. Erstellt wird solch ein Objekt z.b. mit dem Namen s1 mit: Schüler s1 = new Schüler(); Fülle die Lücken auf und kreuze an, was ausgegeben wird. Schüler (1 ) private int alter; 2 double gewicht; private 3 name; private String 4 ; System.out.println( Hallo ) 1. Hallo 2. Langweilig 3. Spannend 4. Beides Start (Startklasse) Public static void 5 (String[] args){ Schüler s1 = 6 Schüler7 ; String wort = Langweilig // wort = Spannend ; System.out.print(wort); 8_ Richtige Antwort: 2. 1 Fachklasse 5 main 2 private 6 new 3 String 7 () 4 geschlecht 8-3

Methoden Da ein Schüler weitaus mehr kann als nur zu existieren, gibt es auch Methoden. Damit kann man den Schüler auch wirklich etwas tun lassen. Die Syntax (=Rechtschreibung) für eine Methode lautet: Vorlage Rückgabewert Name(Eingabewert){ Code Beispiel int zahlpluseins(int zahl){ int pluseins; int = zahl + 1; return zahl; Vor den Rückgabewert lässt sich, wie bei den Variablen, ebenfalls ein private oder das Gegenteil public (=für alle zugänglich) schreiben. Das ist zwar nicht nötig aber empfehlenswert. (Fast alle Methoden sind public) Der Rückgabewert (z.b. int) gibt an, ob diese Methode etwas zurückgibt und wenn ja, welchen Datentyp. Dies ist nützlich, wen du nur einen Wert haben willst (z.b. eine beliebige Zahl +1), aber nicht jedes Mal die Rechnung in die Startklasse schreiben willst, oder wenn du ein Wort in einen Satz einbauen möchtest (vgl. Unterricht). Wenn die Methode nichts zurückgibt, weil sie z.b. nur eine Bildschirmausgabe (system.out.println()) macht, dann ist der Rückgabewert Void. Sollte die Methode jedoch einen Wert zurückgeben, muss sie mit einem return und dem Wert der zurückgegeben werden soll, enden. Der Name ist frei wählbar. Er sollte jedoch mit einem kleinen Buchstaben beginnen und keine Leerzeichen enthalten. Der Eingabewert sagt dem Programm, ob die Methode einen Wert braucht, um zu funktionieren, und wenn ja welchen. Bei unserem Beispiel braucht die Methode einen integer, damit sie diesen um 1 erhöhen kann. Der Name dieser Variable (hier: zahl) ist ebenfalls frei wählbar. Um auf die Methoden zuzugreifen gebt ihr den Namen des Objekts ein (z.b. s1), einen Punkt und dann den Namen der Methode. Wenn ein Wert übergeben werden soll (Eingabewert), dann kommt dieser in die Klammern hinter den Namen der Methode. Wenn nicht, dann werden die Klammern leer gelassen aber sie müssen da sein! Beispiel: s1.zahlpluseins(1); Der zurückgegebene Wert wäre hier 2. Dies kann man auch in Verbindung mit einer Bildschirmausgabe tun: System.out.println( 7 + 1 ist + s1.zahlpluseins(7)); 4

Für einige Methoden, die sehr häufig verwendet werden, wie z.b. die Get und Set Methoden hat Eclipse (das Programm der Schule) bereits einen eigenen Knopf, um diese zu erstellen, sodass ihr nicht alles selbst tippen müsst. 1. Klick auf "Source" in der Menüleiste 2. Klick auf "Generate Getters and Setters" 3.Klick auf "Select All" 4. Klick auf "Ok" und alle get und set Methoden werden generiert Beschrifte! 1. 2. public void hallo(string name){ System.out.println( Hallo + name); Wie greife ich auf die Methode schlafen des Schülers hans zu? Wie lautet die Ausgabe? 3. 1. Rückgabewert 2. Name der Methode 3. Eingabewert hans.schlafen(); Die Klammern müssen da sein! Schüler private int alter = 18; public String sagalter(){ return alter; System.out.println( Ich bin volljährig ); Start Public static void main(string[] args){ Schüler peter = new Schüler(); System.out.println( Ich bin + peter.sagalter()); 1. Ich bin volljährig 2. Ich bin 18 3. Beides 2. 5

If-Else Die if-else Kontrollstruktur ist sehr wichtig, daher sollte man sie auch verstehen. Ihr Aufbau ist folgendermaßen: If(boolean oder Ausdruck mit booleanschen Operatoren){ Code else if(boolean oder Ausdruck mit booleanschen Operatoren){ Code else{ Code Zu Beginn des Codes wird gefragt ob (if) das, das in den klammern steht wahr ist. In den Klammern steht in den seltensten Fällen ein boolean (=wahr oder falsch), sondern fast immer booleansche Operatoren. Diese sind unter anderem: > (größer), < (kleiner), == (gleich),!= (ungleich), >= (größer oder gleich) und <= (kleiner oder gleich). Diese vergleichen die eingegebenen Bedingungen (z.b. 5 < 6) und geben dann einen boolean aus (hier: falsch). Wenn deine Bedingung in falsch (false) resultiert, wird der Code zwischen den geschweiften klammern nicht ausgeführt. Nun kann ein else if hinzugefügt werden, bei dem das selbe nochmal gemacht wird, nur mit anderen Bedingungen, sollte es wahr (true) sein, dann führt es den Code aus. Hierbei ist die Reihenfolge wichtig, denn wenn du überprüfen willst, wie alt jemand ist und dies mit diesem Code tust: If (alter >= 16){ System.out.println( Du kommst rein, musst aber um 24:00 wieder gehen ); else if (alter >= 18){ System.out.println( Du kommst rein ); Dann bekommt auch ein 18+ Jahre alter Mensch gesagt, dass er um 24:00 wieder gehen muss. Vertauscht man die beiden Bedingungen, so wird der erste Block bei unter 18 Jährigen nicht ausgeführt. Als letztes kann ein else block hinzugefügt werden, der ausgeführt wird, wenn keine deiner Bedingungen zutrifft. Hier könnte der Türsteher z.b. schwirr ab sagen. 6

Was wird ausgegeben? If(false){ 1. hallo System.out.println( hallo ); 2. nichts int alter = 7; if(alter > 18){ System.out.println( Willkommen in der Tabledance-Bar! ); else{ 1. Willkommen! System.out.println( Schwirr ab! ); 2. Schwirr ab! 2. 2. int alter = 17; String alkohol; if(alter >= 16){ alkohol = Bier ; break; //Das ist ein Befehl, der sagt, dass der PC aufhören soll weitere //Bedingungen zu prüfen else if(alter >= 18){ 1. Bier alkohol = Vodka ; 2. Vodka 3. Apfelschorle else{ 4. Nichts alkohol = Apfelschorle ; 1. if(3 > 4){ System.out.println( Mathegenie ); 1. Mathegenie else if(4 < 3){ 2. Durchschnitt System.out.println( Durchschnitt ); 3. Besserer Durchschnitt 4. Preis für Teilnahme else if(4!= 3){ 5. Nichts System.out.println( Besserer Durchschnitt ); else{ System.out.println( Bekommt einen Preis für die Teilnahme ) 3. 7

UML Die Unified Modeling Language soll das Modellieren von Fachklassen vereinfachen. Im Grunde ist jedes UML-Diagramm in Java folgendermaßen aufgebaut: Name der Klasse Attribute der Klasse:Datentyp Methoden:Datentyp Ausgabewert Relevante Formatierungen sind: Ein - oder + vor dem Namen bedeutet, dass die Methode / Variable private oder public ist. Eine unterstrichene variable oder Methode bedeutet, dass diese statisch (static) ist. Dies ist allerdings für den Moment nicht relevant. Hinter dem Doppelpunkt steht der Datentyp, der ausgegeben wird, bzw. von dem die variable ist. Wenn es keinen Rückgabewert gibt, so kann entweder void geschrieben werden, oder es wird nichts geschrieben. Bei den Methoden steht in den klammern der Datentyp, der als Eingabewert benötigt wird So können unsere Klassen Schüler und Start folgendermaßen dargestellt werden: private Schüler - alter:int - gewicht:double - name:string - geschlecht:string +zahlpluseins(int):int +sagalter():int + main() Start Rückgabewert Eingabewert public static void main 8