Einstieg in die Informatik mit Java

Ähnliche Dokumente
Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

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

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

Repetitorium Informatik (Java)

Klassen mit Instanzmethoden

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

Semestralklausur Einführung in die Programmierung, WS 2005/06, Seite 1/6 Name, Vorname, Matrikelnummer: Gruppe A

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Geschachtelte Klassen

Java Einführung Klassendefinitionen

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

Arten von Klassen-Beziehungen

5.5.8 Öffentliche und private Eigenschaften

Klausur Grundlagen der Programmierung

7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Elementare Konzepte von

Einstieg in die Informatik mit Java

Welche Informatik-Kenntnisse bringen Sie mit?

Algorithmen und Datenstrukturen 06

Einführung in die Informatik 1

1.4. Funktionen. Objektorientierte Programmierung mit C++

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.

5.4 Klassen und Objekte

Musterlösung Stand: 5. Februar 2009

Institut für Informatik und Angewandte Kognitionswissenschaften

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

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

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

Präzedenz von Operatoren

Speicherklassen (1) Lokale Variablen

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

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

Javakurs 2013 Objektorientierung

Einstieg in die Informatik mit Java

Objektorientierung (OO)

JAVA - Methoden

Einführung in die Informatik I Informatik I/A

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

3. Anweisungen und Kontrollstrukturen

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Konstruktoren, Packages und Scopes

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

3 Klassen, Attribute, Methoden

Tag 4 Repetitorium Informatik (Java)

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

AuD-Tafelübung T-B5b

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

PROGRAMMIERUNG IN JAVA

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

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

Vorlesung Programmieren

JAVA - Methoden - Rekursion

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Globale Variablen Diverses. Globale Variablen. Globale Variablen

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

Einstieg in die Informatik mit Java

Programmieren I + II Regeln der Code-Formatierung

Einstieg in die Informatik mit Java

Geschachtelte Klassen

12 Klassen in Java Instanz- und Klassenbestandteile

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Vorkurs Informatik WiSe 16/17

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

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Algorithmen und Datenstrukturen

Programmiertechnik Klassenmethoden

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

Modellierung und Programmierung 1

Objektorientierte Programmierung Teil 1: Einführung

Java - Klassen und Objekte

Statische Methoden, Vererbung, Benutzereingabe

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

Einstieg in die Informatik mit Java

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally

Programmierkurs. Manfred Jackel

Java Einführung Methoden. Kapitel 6

Aufbau von Klassen. class punkt {...

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

Nachklausur Bitte in Druckschrift leserlich ausfüllen!

Theorie zu Übung 8 Implementierung in Java

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Unterlagen. CPP-Uebungen-08/

Transkript:

1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik

Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

Gliederung 3 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

4 / 24 Lokale Variablen in Methoden (z.b. main) s t a t i c i n t methode ( ) { i n t l o k a l ; Eigenschaften Variable darf nur in dieser Methode verwendet werden ab der Definitionsstelle bis zum Ende der Methode Sie ist in anderen Methoden unbekannt, darf dort unabhängig in anderer Bedeutung definiert werden Der Variablenname muss in der Methode eindeutig sein Der Wert wird nicht automatisch initialisiert

Gliederung 5 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

6 / 24 Lokale Variablen in Blocks s t a t i c i n t methode ( ) { { / / Blockanfang i n t l o k a l ; / / Blockende Eigenschaften Wie lokale Variable Gilt aber nur bis Blockende

Gliederung 7 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

8 / 24 Lokale Variablen in for-schleife s t a t i c i n t methode ( ) { for ( i n t i =0; Eigenschaften Wie lokale Variable Gilt aber nur bis Schleifenende

Gliederung 9 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

10 / 24 Formale Argumente von Methoden s t a t i c i n t methode ( double d ) { Eigenschaften Wie lokale Variable Der Wert wird mit dem Wert des entsprechenden aktuellen Arguments initialisiert

Gliederung 11 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

Klassenvariablen s t a t i c i n t klasse ; s t a t i c i n t methode ( ) { Eigenschaften Variable darf in allen Methoden dieser Klasse verwendet werden Der Variablenname muss in der Klasse eindeutig sein, darf aber in Methoden für lokale Variablen wiederverwendet werden Dann gilt in der Methode der lokale Variablenname, die Klassenvariable ist zugänglich über Klassenname.Variablenname Der Wert wird automatisch initialisiert (je nach Typ mit 0, 0.0, false, null,...) 12 / 24

Gliederung 13 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

Klassenvariablen s t a t i c i n t methodedavor ( ) { return x ; / / okay s t a t i c i n t x =333; s t a t i c i n t y=x +1; / / I n i t i a l i s i e r u n g nur i n d ieser Reihenfolge s t a t i c i n t methodedanach ( ) { return x ; / / okay Eigenschaften Variable darf in allen Methoden verwendet werden, vor und nach der Definition die Reihenfolge spielt keine Rolle Bei der Initialisierung muss die Reihenfolge beachtet werden 14 / 24

Gliederung 15 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

Instanzvariablen i n t x ; i n t methode ( ) { return x ; / / okay Eigenschaften Instanzvariable darf in allen Instanzmethoden verwendet werden, vor und nach der Definition die Reihenfolge spielt keine Rolle Bei der Initialisierung muss die Reihenfolge beachtet werden In Klassenmethoden und bei der Initialisierung von Klassenvariablen sind Instanzvariablen nur erlaubt, wenn eine konkrete Instanz genannt wird: Instanzname.Instanzvariable 16 / 24

Gliederung 17 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

Vergleich Klassen- und Instanzvariablen Unterschiede Klassenvariablen existieren einmal für die gesamte Klasse. Instanzvariable existieren individuell für jede Instanz der Klasse. Gibt es n Instanzen einer Klasse, dann gibt es also jede Klassenvariable einmal jede Instanzvariable n-mal s t a t i c i n t x =1; i n t y =2; public s t a t i c void main ( S t r i n g [ ] args ) { / / es g i b t 1 x, 0 y Demo d = new Demo ( ) ; / / es g i b t 1 x, 1 y Demo e = new Demo ( ) ; / / es g i b t 1 x, 2 y 18 / 24

Gliederung 19 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen in for-schleife 4 Formale Argumente 5 Klassenvariablen 6 Klassenvariablen Reihenfolge 7 Instanzvariablen 8 Vergleich Klassen- und Instanzvariablen 9 Beispiele

Beispiele erlaubte Wiederverwendung von Namen s t a t i c i n t x =1; s t a t i c i n t methode ( ) { i n t x =2; / / okay return x+demo. x ; / / l i e f e r t 2+1=3 20 / 24 i n t methode1 ( ) { i n t x =1; / / okay return x ; / / l i e f e r t 1 i n t methode2 ( ) { i n t x =2; / / okay return x ; / / l i e f e r t 2 Beispiel

21 / 24 Beispiele verbotene Wiederverwendung von Namen i n t methode ( i n t x ) { i n t x =2; / / Fehler return x ; Achtung Formales Argument und lokale Variable dürfen nicht den gleichen Namen haben!

22 / 24 Beispiele verbotene Wiederverwendung von Namen void methode ( ) { i n t i ; for ( i n t i =0; i <10; i ++) { / / Fehler Achtung Zwei lokale Variablen dürfen nicht den gleichen Namen haben. Dies gilt auch für Variablen, die im Init-Teil einer for-schleife definiert werden

23 / 24 Beispiele verbotene Wiederverwendung von Namen void methode ( ) { i n t x ; do { i n t x ; while ( ) ; Achtung Zwei lokale Variablen dürfen nicht den gleichen Namen haben. Dies gilt auch für Variablen, die in einem untergeordneten Block definiert werden

24 / 24 Beispiele Initialisierung i n t a ; i n t methode ( i n t b ) { i n t c ; i n t [ ] d = new i n t [ 5 ] ; return a+b+c+d [ 2 ] ; a ist mit 0 initialisiert b ist mit dem Wert des aktuellen Arguments initialisiert c ist nicht initialisiert d[2] ist mit 0 initialisiert (Felder sind Objekte, Komponenten werden also bei new initialisiert) also tritt bei der return-anweisung 1 Fehler auf