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

Ähnliche Dokumente
Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

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

Einstieg in die Informatik mit Java

Vererbung, Polymorphie

Klassenvariablen, Klassenmethoden

Einstieg in die Informatik mit Java

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

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

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Objektorientierte Programmierung und Klassen

Klassen mit Instanzmethoden

Schöner Programmieren

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Schöner Programmieren

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Hüllklassen. Gerd Bohlender. 25. Juni Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Repetitorium Informatik (Java)

Einstieg in die Informatik mit Java

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

Einstieg in die Informatik mit Java

Programmiertechnik Klassenvariablen & Instantiierung

Tag 7 Repetitorium Informatik (Java)

Einstieg in die Informatik mit Java

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

Klassen als Datenstrukturen

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Java Einführung Klassendefinitionen

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

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

Geschachtelte Klassen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

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

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Implementieren von Klassen

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

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

Teil 2: Weitere Aspekte der Objektorientierung

Einstieg in die Informatik mit Java

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

Vorkurs Informatik WiSe 16/17

Kapitel 10 Delegationsvariablen

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Arten von Klassen-Beziehungen

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

Einstieg in die Informatik mit Java

2. Unterprogramme und Methoden

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Tag 8 Repetitorium Informatik (Java)

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }

Algorithmen und Datenstrukturen II

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

Fakultät IV Elektrotechnik/Informatik

Martin Unold INFORMATIK. Geoinformatik und Vermessung

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben. Aufgabe 1.1. Alle Aufgaben beziehen sich auf Java.

Einstieg in die Informatik mit Java

Variablen in Java. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang. Ziele

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

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben

Angewandte Mathematik und Programmierung

Einstieg in die Informatik mit Java

Software Entwicklung 1. Rekursion. Beispiel: Fibonacci-Folge I. Motivation. Annette Bieniusa / Arnd Poetzsch-Heffter

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

Elementare Konzepte von

Informatik II. Woche 13, Giuseppe Accaputo

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

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben. Alle Aufgaben beziehen sich auf Java.

Prozeduren vs. Funktionen

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

Programmiertechnik Objektorientierung

Vorkurs Informatik WiSe 17/18

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Modellierung und Programmierung 1

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

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

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

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

Einstieg in die Informatik mit Java

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

Klausur Grundlagen der Programmierung

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

Ausdrücke der Programmiersprache Java

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

Transkript:

Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15

Übersicht 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 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 2 / 15

Lokale Variablen in Methoden (z.b. main) static int methode () { int lokal; 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 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 3 / 15

Lokale Variablen in Blocks static int methode () { { // Blockanfang int lokal; // Blockende Eigenschaften Wie lokale Variable Gilt aber nur bis Blockende G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 4 / 15

Lokale Variablen in for-schleife static int methode () { for (int i=0; Eigenschaften Wie lokale Variable Gilt aber nur bis Schleifenende G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 5 / 15

Formale Argumente von Methoden static int methode (double d) { Eigenschaften Wie lokale Variable Der Wert wird mit dem Wert des entsprechenden aktuellen Arguments initialisiert G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 6 / 15

Klassenvariablen static int klasse; static int 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, ) G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 7 / 15

Klassenvariablen static int methodedavor () { return x; // okay static int x=333; static int y=x+1; //Initialisierung nur in dieser Reihenfolg static int 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 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 8 / 15

Instanzvariablen int x; int 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 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 9 / 15

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 static int x=1; int y=2; public static void main (String[] args) { // es gibt 1 x, 0 y Demo d = new Demo(); // es gibt 1 x, 1 y Demo e = new Demo(); // es gibt 1 x, 2 y G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 10 / 15

Beispiele erlaubte Wiederverwendung von Namen int methode1 () { int x=1; // okay return x; // liefert 1 int methode2 () { int x=2; // okay return x; // liefert 2 static int x=1; static int methode () { int x=2; // okay return x+demo.x; // liefert 2+1=3 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 11 / 15

Beispiele verbotene Wiederverwendung von Namen int methode (int x) { int x=2; // Fehler return x; Fehler Formales Argument und lokale Variable dürfen nicht den gleichen Namen haben G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 12 / 15

Beispiele verbotene Wiederverwendung von Namen void methode () { int i; for (int i=0; i<10; i++) { // Fehler Fehler 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 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 13 / 15

Beispiele verbotene Wiederverwendung von Namen void methode () { int x; do { int x; while (); Fehler Zwei lokale Variablen dürfen nicht den gleichen Namen haben. Dies gilt auch für Variablen, die in einem untergeordneten Block definiert werden G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 14 / 15

Beispiele Initialisierung int a; int methode (int b) { int c; int[] d = new int[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 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 15 / 15