Java für Anfänger Teil 7: Methoden. Programmierkurs Manfred Jackel

Ähnliche Dokumente
Programmierkurs. Manfred Jackel

Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel

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

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Einstieg in die Informatik mit Java

2. Unterprogramme und Methoden

Einstieg in die Informatik mit Java

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

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

3 Objektorientierte Konzepte in Java

Einstieg in die Informatik mit Java

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

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

Programmiertechnik Klassenmethoden

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden

Einstieg in die Informatik mit Java

Elementare Konzepte von

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Grundelemente objektorientierter Sprachen (1)

Präzedenz von Operatoren

Klassenvariablen, Klassenmethoden

Implementieren von Klassen

Grundlagen der Objektorientierten Programmierung - Methoden -

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

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

Grundlagen der Programmierung

Variablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Java für Anfänger Startup Donnerstag. Programmierkurs Manfred Jackel

Algorithmen und Programmierung II

Objektorientierte Programmierung Studiengang Medieninformatik

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1)

Programmierung und Angewandte Mathematik

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Einstieg in die Informatik mit Java

Vorlesung Programmieren

Erste Java-Programme (Scopes und Rekursion)

Klassen mit Instanzmethoden

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

6. Funktionen, Parameterübergabe

Softwareentwicklung I (IB) Methoden. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Softwareentwicklung I (IB) Objekte. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Grundlagen der Programmierung

Einstieg in die Informatik mit Java

Methoden und Wrapperklassen

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

Prozeduren in Java. streckeimperativ zur Verfügung. Grundlagen der funktionalen und imperativen Programmierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Parameterübergabemechanismen für den Methodenaufruf

Intuitive Einführung. Informatik B Objektorientierte Programmierung in Java. Vorlesung 01: Objektorientierte Programmierung (Teil 1)

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

Vererbung, Polymorphie

Einstieg in die Informatik mit Java

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Klassen, Vererbung, Benutzereingabe

Prozeduren vs. Funktionen

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

pue13 January 28, 2017

Informatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

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

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1]

Martin Unold INFORMATIK. Geoinformatik und Vermessung

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch

3 Objektorientierte Konzepte in Java

10. Felder (Arrays) Teil 2. Java-Beispiele: Echo.java Primzahlen.java Monate.java. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

CS1005 Objektorientierte Programmierung

Einstieg in die Informatik mit Java

1 Abstrakte Klassen, finale Klassen und Interfaces

Java Einführung Methoden. Kapitel 6

Grundlagen der OO- Programmierung in C#

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

5. Java Arrays und Strings

14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

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

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

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Tag 8 Repetitorium Informatik (Java)

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

4.4 Imperative Algorithmen Prozeduren

JAVA - Methoden - Rekursion

Javakurs für Anfänger

Objektorientierung (OO)

Einstieg in die Informatik mit Java

6 Speicherorganisation

Algorithmen und Datenstrukturen

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

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

Softwareentwicklung II (IB) Methoden. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Objektorientierte Programmierung

Methoden. (Softwareentwicklung II (IB)) Prof. Dr. Oliver Braun. Letzte Änderung: :40. Methoden 1/44

3.2 Datentypen und Methoden

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Transkript:

Java für Anfänger Teil 7: Methoden Programmierkurs 11.-15.10.2010 Manfred Jackel 1

Methoden In der imperativen Programmierung sind Funktionen ein wichtiges Mittel zur Modularisierung. [Oft benötigter] Code kann in Funktionen zusammengefasst werden und über den Namen der Funktion nach Bedarf aufgerufen werden. Weiteres wichtiges Prinzip ist die Parametrisierung: an Funktionen werden beim Aufruf Parameter übergeben, die in die Berechnung eingehen. In der objektorientierten Programmierung werden Funktionen Methoden genannt. Der Code einer Methode wird in der Methodendeklaration angegeben.

Methodendeklaration MethodDeclaration::= { MethodModifier } ( Type 'void' ) Identifier '(' FormalParameters ')' [ Throws ] ( Block '; MethodModifier::= 'public' 'protected' 'private' 'abstract' 'static' 'final' 'synchronized' 'native' 'strictfp' FormalParameters::= [ FormalParameter { ',' FormalParameter } ] FormalParameter::= [ 'final' ] Type Identifier Block::= '{' { BlockStatement } '}'

Methodendeklaration public static void main(string[] args) { } MethodDeclaration::= { MethodModifier } ( Type 'void' ) Identifier '(' FormalParameters ')' [ Throws ] ( Block '; MethodModifier::= 'public' 'protected' 'private' 'abstract' 'static' 'final' 'synchronized' 'native' 'strictfp' FormalParameter::= [ 'final' ] Type Identifier

Beispiel Deklaration: public static double avg(int i, int j) { double average; average = (i+j)/2.0; return average; } Aufrufbeispiel: System.out.println( Mittel von +i+ und +j+ ist +avg(i,j));

Semantik des Methodenaufruf Beim Aufruf einer Prozedur werden die Werte der Parameter, falls vorhanden) in lokale Variable kopiert (call by value, Werteparameter). Diese lokalen Variablen sind im Block, der zur Prozedur gehört, unter ihren Namen ansprechbar. Speicherplatz für lokale Variablen im Block, falls vereinbart, wird reserviert und ggfs. initialisiert. Die Anweisungen im Block werden ausgeführt. Wenn der Ergebnistyp der Methode nicht void ist, muss die Prozedur über eine return-anweisung verlassen werden, die einen passenden Wert berechnet. Ist der Ergebnistyp void, kann die Prozedur mit return (ohne Wertberechnung) verlassen werden oder mit der letzten Anweisung.

Parameterübergabe primitive Typen public static void swap( int first, int second) { int h = first; first = second; second=h, System.out.println( i und j getauscht ); } Aufruf: i=1; j=2; swap(i,j); // Werte von i und j sind unverändert! System.out.println( i= +i+ j= +j); Ausgabe: i und j getauscht i=1 j=2

Parameterübergabe Referenztypen public static void swapa(int[] a) { if (a.length>1) { int h=a[0]; a[0]=a[a.length-1]; a[a.length-1]=h, System.out.println( Position 0 und +a.length-1+ getauscht ); } Aufruf: int[] b={1,2}; swapa(b); System.out.println( b[0]= +b[0]+ b[1]= +b[1]); Ausgabe: Position 0 und 1 getauscht b[0]=2 b[1]=1 Aufgabe: schreiben Sie eine Methode public static void reva(int[] a), die die Elemente im Feld a in umgekehrte Reihenfolge bringt. Demo Feldumkehrung

Beispiel: Vektoraddition double[] v1=new double[3], v2= new double{3], v3; double[] vectoradd(double[] v, double[] w) { double[] y = new double[3]; for (int i; i=0; i<3; i++) y[i]=v[i]+w[i]; return y; } Aufruf: v3 = vectoradd(v1,v2); // jetzt gibt es V1, v2 und v3!

Variable Parameterzahl (V5) public static void printargs(string... args) { for (int i = 0; i < args.length; ++i) { System.out.println(args[i]); } } Der letzte formale Parameter darf beliebig oft wiederholt werden ( ) Aufruf: printargs(new String[]{"so", "wird", "es", "gemacht"}); oder: printargs("so", "wird", "es", "gemacht");

Signatur einer Methode - Überladen public static int min(int i, int j) { } public static double min(double d1, double d2) { } int min1; min1 = min(3,4); Methoden gleichen Namens sind zulässig, wenn sie sich in Zahl und Typ der Parameter unterscheiden. Signatur = (Methodenname,Parametertyp1,, Parametertypn) Signatur = Tupel aus Methodenname und Typnamen der Parameter (min, int, int)!= (min, double,double) min(1,2) und min(1.0,2.0) kann der Compiler unterscheiden.

OO-Paradigma Eine Klasse bringt ihre Methoden und ihre Atrribute mit. Beispiel: Rationale Zahlen: Brüche Atrribute: Zähler & Nenner als int-werte Methoden: werden auf die Attribute eiens Objektes dieses Typs angewandt idealerweise wird ein Objekt nur über die Methoden manipuliert Alle Attribute private, Dei Manipulationsmethoden public Demo Rational