Name Klasse Datum. Um nun mit Variablen arbeiten zu können, müssen nun einige Voraussetzungen erfüllt sein:

Ähnliche Dokumente
Einstieg in die Informatik mit Java

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

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

Kapitel 3: Variablen

Elementare Konzepte von

JAVA-Datentypen und deren Wertebereich

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

Primitive Datentypen und Felder (Arrays)

Einführung in die Programmierung mit VBA

Numerische Datentypen. Simon Weidmann

2.5 Primitive Datentypen

Welche Informatik-Kenntnisse bringen Sie mit?

Ein erstes Java-Programm

Umsetzungshilfe Java Teil 1

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

Klassen in Java. Grundlagen der Programmierung. Stephan Kleuker 68

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Dr. Monika Meiler. Inhalt

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

Zeiger, Arrays und Strings in C und C++

RO-Tutorien 3 / 6 / 12

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

3. Datentypen, Ausdrücke und Operatoren

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

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Der Datentyp String. Stringvariable und -vergleiche

2. Programmierung in C

Java-Vorkurs Wintersemester 15/16

2. Datentypen und Deklarationen

GI Vektoren

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

Variablen und Datentypen

Werkzeuge zur Programmentwicklung

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

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

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Propädeutikum zur Programmierung

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe

Kapitel 5. Datentypen und Operatoren

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

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

2 Einfache Rechnungen

Einführung in die Programmierung 1

Tutorium Rechnerorganisation

Elementare Datentypen in C++

Dr. Monika Meiler. Inhalt

Makro + VBA 2007 effektiv

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

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

Die Programmiersprache C

C++ - Einführung in die Programmiersprache Variablen und Konstanten. Leibniz Universität IT Services Anja Aue

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014

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

Programmiertechnik Skalare Typen,Variablen, Zuweisungen

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen.

Programmierung mit C Zeiger

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

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

Zahlensysteme: Oktal- und Hexadezimalsystem

Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

Objektorientierte Programmierung OOP Programmieren mit Java

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

Repetitorium Informatik (Java)

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Prinzipielle Ausführungsvarianten I

Programmieren in C / C++ Grundlagen C 2

Einführung in die Programmierung II. 2. Fundamentale Datentypen, Ausdrücke

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

8 Typwandlungen. 8.1 Automatische Typkonvertierungen

Zeichenketten (Strings) in C

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einführung in die Programmierung

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

Arbeiten mit JavaKara

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg Universitätsstraße 31, Regensburg

Greenfoot: Variablen Nicolas Ruh und Dieter Koch

[E-1] Wolf, Jürgen: C von A bis Z. Galileo Computing, 3. Auflage,

VisualBasic - Variablen

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Programmieren in C. Zeiger und Zeichenketten. Prof. Dr. Nikolaus Wulff

Variablen und Konstanten

Javakurs für Anfänger

Dynamischer Speicher

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen. 3. Programmiersprache Visual Basic. 4. Grundlagen der Datenbanktechnologie.

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Ab J2SE 5.0 Unterstützung formatierter Bildschirmausgaben. Mit den Operatoren und Klammern können Boolesche Ausdrücke gebildet werden Beispiel:

Algorithmen & Datenstrukturen

Datentypen: Enum, Array, Struct, Union

Vorlesung Programmieren

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

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

Programmierkurs Java

6. Bearbeitung von Strings in C Bearbeitung von Strings in C

Transkript:

Name Klasse Datum 1 Allgemein Wie der Name Datenverarbeitung schon verrät, dienen Rechner dazu Daten zu speichern, zu ändern und wieder auszugeben. Programme bilden den Algorithmus ab, wie die Daten zu verändern sind. Die Frage ist nun, wie speichert man die Daten im Rahmen der Programme in den Rechnern ab? Grundsätzlich wissen wir zwar alle, dass dies irgendwo im Speicher (RAM) des Computers erfolgt, doch hierbei gibt es einiges zu beachten: Wo werden im Speicher die Daten abgelegt also unter welcher Adresse? Wie kommen wir an die Daten wieder ran, um sie bspw. auszugeben? Wie gehen wir mit der Tatsache um, dass zum Zeitpunkt des Schreibens des Programms die Speicherbelegung anders sein wird, als zum Zeitpunkt der Programmausführung und wir somit vorher nicht wissen, wo die Daten zur Laufzeit abgelegt werden? Wie teilen wir dem Rechner mit, wie viel Platz er für unsere Daten vorsehen muss? Realisiert wird dies durch die Einführung von Variablen. Diese sollen all die oben genannten Probleme lösen, indem sie als eine Art Behälter für Daten fungieren. Hierbei sind diverse Eigenschaften vonnöten: Variablen : Variablen sind Platzhalter für Daten im Speicher. Um nun mit Variablen arbeiten zu können, müssen nun einige Voraussetzungen erfüllt sein: Der Programmierer muss der Variablen einen Namen geben, um Daten in der Variablen speichern, ändern oder Daten auslesen zu können. Der Programmierer muss dem Computer mitteilen, wie viel Platz die Daten benötigen, welche in der Variablen abgespeichert werden sollen also der Datentyp der Variablen. Der Programmierer muss eine Logik vorsehen, wie die Daten in die Variable abgelegt werden sollen also die Zuweisung von Werten. Der Computer muss in der Lage sein, der Variablen im Speicher einen Platz zuzuweisen und den Namen der Variablen fest mit dem Platz zu verknüpfen also das Speichermanagement. Im Folgenden werden die einzelnen Zusammenhänge näher erläutert, so dass man in der Lage ist, die Variablen zu nutzen und eventuelle Probleme vorher zu erkennen. ANPR_04_Variablen_v02.docx Seite 1

2 Deklaration und Datentypen Das Festlegen des Namens und des Datentyps nennt man Deklaration der Variablen. Üblicherweise wird gleich bei der Deklaration ein initialer Wert festgelegt, man spricht hier von der Initialisierung. 2.1 Syntax Deklaration Der Syntax sieht wie folgt aus: int: Datentyp ivar: Variablenname 3: Variablenwert Bei der Deklaration können zwei verschiedene Grundtypen unterschieden werden, Variablen und Konstanten. Variablen können ihren Wert zur Laufzeit ändern, der Wert von Konstanten wird bei der Kompilierung festgelegt. Eine Konstante wird wie folgt deklariert: final int I_VAR = 3; Das Schlüsselwort final zeigt dem Compiler an, dass sich der Wert der Variable nicht mehr ändert. Um den Code einfacher lesbar zu machen, werden Konstanten üblicherweise nur mit Großbuchstaben benannt. Bei der Festlegung der Datentypen müssen zuerst zwei Grundtypen unterschieden werden. Einfache Datentypen bestehen lediglich aus einem einzigen Wert, der im Speicher zusammenhängend abgelegt wird. Zusammengesetzte Datentypen sind wiederum aus mehreren einfachen Datentypen zusammengesetzt und werden in Java als Klassen realisiert. Der bekannteste Vertreter von zusammengesetzten Datentypen ist die String Variable also eine Zeichenkette. 2.2 Übersicht Datentypen Im Folgenden die wichtigsten Datentypen in Java: Inhaltstyp: Wertebereich: Speicherbedarf: true true/false 8 bit -128 bis 127 8 bit Ganze Zahl 4 Beispiel: Datentyp: Wahrheitswert Gleitkommazahl 4.0-32.768 bis 32.767 16 bit -2.147.483.648 bis 2.147.483.647 32 bit -9.223.372.036.854.775.808L - 9.223.372.036.854.775.807L +/-1,4E-45 bis +/-3,4E+38 (7 signifikante Stellen) +/-4,9E-324 bis +/-1,7E+308 (15 signifikante Stellen) 64 bit 32 bit 64 bit Zeichen '4' 0 bis 65.535 (z. B. 'A') 16 bit Zeichenkette "4" beliebig variabel Seite 2

Obwohl es auch Programmiersprachen gibt, bei denen unbestimmte Datentypen existieren (bspw. Variant in Visual Basic) wird immer empfohlen, die passenden Datentypen für seine Programme zu verwenden das spart im Zweifelsfall Speicherplatz. In Java wird jedoch für ganze Zahlen immer int verwendet, es sein denn es werden extrem viele Daten abgelegt, bei denen dies zu Speicherproblemen führen würde. 2.3 Wrapper-Klassen Zu jedem einfachen Datentyp gehört in Java auch eine sogenannte Wrapper-Klasse, welche Hilfsfunktionen für die einzelnen Datentypen aufweist. Die wichtigste ist das parsen von Strings inklusive Umwandlung des gefundenen Wertes in den einfachen Datentyps: String sstringwert = "123"; int iintwert = Integer.parseInt(sStringWert); // iintwert hat nun den Wert 123 als Integerzahl Im obigen Beispiel wird in eine Stringvariable der String "123" geschrieben. Dies ist aus Datensicht keine Zahl, sondern eine Zeichenkette. Die Methode "parseint" prüft nun, ob in der Variable in Klammern eine Zeichenkette vorhanden ist, welche sich in eine Integerzahl umwandeln lässt. Wenn ja, dann gibt die Methode die Zahl zurück, wenn nein, wird ein Fehler erzeugt und das Programm unterbrochen. Hier die wichtigsten Wrapperklassen mitsamt oft genutzten Methoden: Datentyp: Wrap- per- Klasse: Methode: Bedeutung: int Integer parseint(str) Der String str wird nach einer Integer Zeichenkette geparst und als int Datentwert zurückgegeben. decode(str) Dekodiert einen String, der als Hexwert (0x, 0X oder # mit folgender Hexzahl) oder Oktalwert (0 mit folgender Oktalzahl) in eine Dezimalzahl. tohexstring(i) Der Dezimalwert i wird in eine Hexadezimalzahl in Stringrepräsentation tooctalstring(i) Der Dezimalwert i wird in eine Oktalzahl in Stringrepräsentation tobinarystring(i) Der Dezimalwert i wird in eine Binärzahl in Stringrepräsentation tostring(i) Der Dezimalwert i wird in einen String um double Double parsedouble(str) Der String str wird nach einer Integer Zeichenkette geparst und als double Datentwert zurückgegeben. tohexstring(d) Der Dezimalwert d wird in eine Hexadezimalzahl in Stringrepräsentation tostring(d) Der Dezimalwert d wird in einen String um char Character tostring(c) Der Charwert c wird in einen String um boolean Boolean getboolean(str) Der String str wird nach einem true/false geprüft und der logische Wert true/false wird zurückgegeben. tostring(b) Der boolean Wert wird in einen String um Alle anderen einfachen Datentypen haben ebenfalls Wrapper-Klassen. Da sie seltener verwendet werden wird an dieser Stelle lediglich auf die Java Dokumentation verwiesen: http://docs.oracle.com/javase/7/docs/api/java/lang/package-tree.html Seite 3

byte short int long float double char 2.4 Typecast Neben den oben genannten Möglichkeiten Datentypen in Strings und umgekehrt zu verwandeln, gibt es noch die Typecats. Hierbei wird ohne eine Methode aufzurufen der Datentyp direkt um Hier unterscheiden wir zwischen: Explizite Typecasts Implizite Typecasts Explizit bedeutet, dass dem Rechner direkt mitgeteilt wird, dass von einem Datentyp A in einen Datentyp B umgewandelt werden soll. Dies ist bei allen numerischen Datentypen immer möglich wenn jedoch Datenverlust droht (also großer Datentyp nach kleiner umgewandelt), dann muss er explizit erfolgen. Ein Expliziter Typecast sieht wie folgt aus: Zielvariable = (Zieldatentyp) Quellvariable Hier ein Beispiel eines expliziten Typecasts von double zu int: iintvariable = (int) ddoublevariable; Imlizit bedeutet, dass der Zieldatentyp nicht angegeben werden muss dies ist nur dann möglich, wenn kein Datentypverlust droht (also kleiner Datentyp nach großem Datentyp): ddoublevariable = iintvariable; In der folgenden Tabelle sind in der ersten Spalte der Zieldatentyp und in der unteren Zeile die Quelldatentypen. Explizite Typecasts sind mit ( ), implizite mit = gekennzeichnet: byte = short = int = long = float = double = char = Seite 4

2.5 Datentypen von Operationen Neben den Typecasts gibt es noch eine weitere Situation, in der implizit Typen gewandelt werden. Werden bspw. zwei Zahlen eines Datentyps addiert, so ist das Ergebnis immer vom gleichen Datentyp, wie die beiden Ausgangsdatentypen. Sind es zwei verschiedene Datentypen, so muss sich der Computer für den Ergebnisdatentyp entscheiden. Folgende Regel gilt: Bei der Verknüpfung von zwei Datentypen ist das Ergebnis immer vom Typ des größeren Datentyps. Beispiel: int ivar = 2; byte byvar = 4; Die Rechnung ivar * byvar = ergibt den Datentyp:.. int ivar1 = 2; int ivar2 = 4; Die Rechnung ivar1 * ivar2 = ergibt den Datentyp:.. Was ergibt somit 2/4: 2.6 Namenskonventionen Welcher Code ist einfacher lesbar: Code1: int a = 3; double b = 10.5; double c = a * b; Code2: int ianzahl = 3; double deinzelgewicht = 10.5; double dgesamtgewicht = ianzahl * deinzelgewicht; Variablennamen sollen folgende Eigenschaften aufweisen: Datentyp: Präfix: Beispiel: Datentyp: Präfix: Beispiel: byte by byidwert float f fbetrag short s sanzahl double d dbetrag int i ianzahl char c ckennung long l lanzahl String s seingabe boolean b bfehleingabe Seite 5

Seite 6

3 Lizenz Diese(s) Werk bzw. Inhalt von Maik Aicher (www.codeconcert.de) steht unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz. Seite 7