Kapitel 3: Variablen

Ähnliche Dokumente
Vorkurs Informatik WiSe 16/17

JAVA-Datentypen und deren Wertebereich

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

HTW IMI-B Informatik 1 Kara Worksheet 2 Seite: 1. Variables to store a true/false state: boolean movingright = true;

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Informatik Vorkurs - Vorlesung 2

Kapitel 2: Programmfluss steuern

Vorkurs Informatik WiSe 17/18

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Hello World! Eine Einführung in das Programmieren Variablen

Java I Vorlesung Imperatives Programmieren

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Einfache Rechenstrukturen und Kontrollfluss

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

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

Programmiervorkurs Einführung in Java Tag 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Übungsblatt 1. Java Vorkurs (WS 2017)

Kapitel 1: Die ersten Schritte 1

Primitive Datentypen und Felder (Arrays)

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

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

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

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

Grundlagen der Informatik 2. Operatoren

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

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

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

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Javakurs für Anfänger

Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1

Variablen, Konstanten und Datentypen

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings

Einstieg in die Informatik mit Java

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

Basiswissen in Informatik

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Unterlagen. CPP-Uebungen-08/

Projekt 3 Variablen und Operatoren

Elementare Konzepte von

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

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Einstieg in die Informatik mit Java

Einführung in die Programmierung

Modellierung und Programmierung 1

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

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

Greenfoot: Verzweigungen

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Variablen und Datentypen

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Programmieren 1 C Überblick

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Gierhardt. 1 import javakara. JavaKaraProgram ; 3 public class Playit1 extends JavaKaraProgram. 4 { // Anfang von Playit1. 6 void gehezumbaum ( ) 7 {

Javakurs für Anfänger

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Operatoren und Ausdrücke

Martin Unold INFORMATIK. Geoinformatik und Vermessung

3.2 Datentypen und Methoden

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

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Algorithmen zur Datenanalyse in C++

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

Repetitorium Programmieren I + II

Wie entwerfe ich ein Programm?

Einführung in die C++ Programmierung für Ingenieure

Programmieren lernen mit Visual Basic

Der Datentyp String. Stringvariable und -vergleiche

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

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

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Transkript:

Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber folgendes tun: Kara soll eine Spur von fünf Kleeblättern legen. Dies wäre natürlich recht einfach, wenn wir einfach putleaf() und move() fünfmal aufrufen, jedoch wenig elegant. Schöner wäre es, wenn Kara mitzählt, wie viele Blätter er bereits abgelegt hat. Damit Kara zählen kann, braucht er ein Gedächtnis, d.h. konkret einen Speicher. Die Speicherplätze beim Programmieren sind durch Variablen ansprechbar. Zählen mit Kara: int i; i = 0; while (i < 5) { putleaf(); move(); } i = i + 1; Erklärungen: (a) Mit int i; wird Speicherplatz für eine Variable mit dem Namen i und dem Typ int, d.h. integer, reserviert. Man sagt: Die Variable i wird deklariert. In Java gibt es unterschiedliche Typen, die verwendet werden können (siehe nachfolgende Tabellen). (b) Durch i = 0; wird der Variable i der Wert 0 zugewiesen. Da es die erste Wertzuweisung für die Variable ist, sagt man auch: Die Variable i wird initialisiert. (c) Deklaration und Initialisierung werden meistens zusammengefasst wie folgt: int i = 0; (d) Für die Bedingung i < 5 wird der Vergleichsoperator < benutzt (weitere Vergleichsoperatoren siehe nachfolgende Tabellen). (e) Bei der Zuweisung i = i + 1; muss man zuerst den rechten Teil anschauen. Es bedeutet: Nimm den aktuellen Wert von i, addiere 1 dazu und speichere den neuen Wert wieder unter dem Namen i ab. Weitere Hinweise zu Variablen: (f) Es ist möglich, eine Variable mit einem endgültigen, unveränderlichen Wert zu versehen, d.h. sie zu einer Konstanten zu machen: final int ANZAHL = 5; Dann könnte man im obigen Programmbeispiel while (i < ANZAHL) schreiben. Konstanten schreibt man komplett mit Grossbuchstaben. (g) Variablen schreibt man wie Methoden beginnend mit einem Kleinbuchstaben!

Kapitel 3: Variablen Thema: Programmieren Seite: 2 Elementare Datentypen in Java Diese Datentypen heissen elementar, da es die Grunddatentypen in Java sind. (Später werden wir lernen, wie man Variablentypen für ganze Objekte erstellen kann). Ganze Zahlen und Zeichen Typ von bis einschliesslich Speicherbedarf byte -128 127 8 bit short -32 768 32 767 16 bit int -2 147 483 648 2 147 483 647 32 bit long -9 223 372 036 854 775 808 9 223 372 036 854 775 807 64 bit char 0 65 635 16 bit Fliesskomma-Zahlen Typ von bis einschliesslich Speicherbedarf float -3.4*10 38 3.4*10 38 32 bit double -1.7*10 308 1.7*10 308 64 bit Wahrheitswerte Typ Wertebereich Speicherbedarf boolean true oder false 1 bit Vergleichsoperatoren Folgende Operatoren können in Java für Vergleiche verwendet werden. Das Ergebnis ist jeweils ein boolean (entweder true oder false). Operator Bedeutung Beispiel < Kleiner als k < 12 <= Kleiner als oder gleich k <= 23 > Grösser als k > 67 >= Grösser als oder gleich k >= 45 == Gleich k == 2!= Ungleich k!= 32 Achtung: Der Vergleich auf Gleichheit hat immer zwei Gleichheitszeichen ==. Mit einem einzelnen Gleichheitszeichen = geschieht eine Zuweisung! Arithmetische Operatoren Zur Berechnung können folgende arithmetische Operatoren verwendet werden: Operator Bedeutung Beispiel + Addition h = wert + 34 - Subtraktion z = 3.4 t * Multiplikation value = h * 3.56 / Division d = m / v % Modulo (liefert den Rest der Division) count = w % 2

Kapitel 3: Variablen Thema: Programmieren Seite: 3 AUFGABE 21: KARA ZÄHLT KLEEBLÄTTER Kara soll waagrecht von links nach rechts gehen bis zum Baum und dabei die Kleeblätter zählen. Hinweise: Am Schluss können Sie das Resultat mit dem folgenden Befehl auf die Konsole schreiben: System.out.println( Das Resultat ist: + count); Alles, was in der Klammer des Befehls steht wird ausgegeben. Tet muss man in Anführungszeichen schreiben und kann mit einem Pluszeichen zusammengesetzt werden. count ist der Name der Variable (kann natürlich auch anders benannt werden). Verfügbarkeit von Variablen: Variablen sind immer nur innerhalb des Blockes (zwischen den geschweiften Klammern) gültig, in welchem sie deklariert wurden. Man kann sie auch ausserhalb der Methoden deklarieren, dann gelten sie für die ganze Klasse. AUFGABE 22: KARA IN A BOX I Eine quadratische Fläche ist von Bäumen umrandet. Innerhalb der Fläche ist ein Muster aus Kleeblättern gelegt, das von Kara invertiert (= umgedreht) werden soll. Kara startet links oben in der Ecke mit Blick nach rechts. Hilfe: Bei dieser Aufgabe ist es hilfreich, mit booleschen Variablen zu arbeiten, z.b.: boolean goingright = false; goingright =!goingright; if (goingright) // Deklaration und Initialisierung // Aus true wird false und umgekehrt // Boolesche Variable als Bedingung ZUSATZAUFGABE 23 (FÜR SCHNELLE): KARA IN A BOX II Eine quadratische Fläche ist von Bäumen umrandet. Innerhalb der Fläche soll ein schachbrettartiges Muster aus Kleeblättern von Kara gelegt werden. Kara startet links oben in der Ecke mit Blick nach rechts. ZUSATZAUFGABE 24 (FÜR SCHNELLE): DIE LÄNGSTE BAUMREIHE Auf der Wiese hat es verschiedene Baumreihen. Kara soll nun die Länge (in Anzahl Bäumen) der längsten Baumreihe ermitteln und auf die Konsole ausgeben. Zwischen d en Baumreihen ist immer mindestens ein Feld Platz. Auf dem letzten Feld liegt ein Kleeblatt.

Kapitel 3: Variablen Thema: Programmieren Seite: 4 ZUSATZAUFGABE 25 (FÜR SEHR SCHNELLE): PILZ DURCH TUNNEL SCHIEBEN Die Welt von Kara hat zwei Boen, welche durch einen Tunnel verbunden sind. In der Bo links befindet sich Kara und ein Kleeblatt. In der Bo rechts befindet sich ein Pilz. Kara soll nun auf die andere Seite gelangen, den Pilz finden und ihn auf die andere Seite schieben. Auf der anderen Seite angekommen soll der Pilz schliesslich auf das Kleeblatt geschoben werden. Sie können davon ausgehen, dass Kara immer oben links in der Ecke startet und das Kleeblatt sich unten links befindet. Der Pilz kann jedoch an einer beliebigen Stelle rechts vom Tunnel stehen. Hinweis: Diese Aufgabe kann auch in Zusammenarbeit zu zweit gelöst werden. Dabei können die Teilprobleme untereinander aufgeteilt werden: - Tunneleingang finden - Pilz finden - Pilz vor den Tunneleingang stossen - Pilz auf das Kleeblatt stossen

Kapitel 3: Variablen Thema: Programmieren Seite: 5 Vertiefung zu Variablen Wir hatten bereits einen ersten Kontakt zu Variablen. Nun noch ein paar zusätzliche Bemerkungen zu den verschiedenen Typen: Elementare Datentypen boolean = true; int = 12; boolean byte short int long Referenztypen Kara k = new Kara(); k.move(); Der Wert in k ist eine Referenz auf Kara-Objekt das Kara-Objekt. Mit dem Punktoperator (k.) kann k wie eine Fernbedienung auf das Kara-Objekt benutzt werden! k Kara

Kapitel 3: Variablen Thema: Programmieren Seite: 6 Hinweis zu Kara: - Ideen und Konzepte von Kara wurden entwickelt von Jürg Nievergelt, Werner Hartmann, Raimond Reichert et al., http://www.swisseduc.ch/informatik/karatojava/, abgerufen Februar 2011. - Einige Kara-Übungen basieren auf Unterlagen von Horst Gierhardt, http://www.swisseduc.ch/informatik/karatojava/javakara/material/, abgerufen Februar 2011.