Java Einführung VARIABLEN und DATENTYPEN Kapitel 2



Ähnliche Dokumente
Java Einführung Operatoren Kapitel 2 und 3

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

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Diana Lange. Generative Gestaltung Operatoren

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

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

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

Computeranwendung und Programmierung (CuP)

Numerische Datentypen. Simon Weidmann

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

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

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

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Einführung in die Java- Programmierung

Vorkurs Informatik WiSe 16/17

Ein erstes Java-Programm

Modul 122 VBA Scribt.docx

Informatik Vorkurs - Vorlesung 2

Einführung in die Programmierung

Java I Vorlesung Imperatives Programmieren

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

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

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

3. Java - Sprachkonstrukte I

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

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

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

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

Primitive Datentypen

2 Einfache Rechnungen

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Einführung in die Java- Programmierung

3. Java - Sprachkonstrukte I

Programmierkurs Java

Programmierung in C. Grundlagen. Stefan Kallerhoff

Vorkurs Informatik WiSe 17/18

Martin Unold INFORMATIK. Geoinformatik und Vermessung

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

3. Java - Sprachkonstrukte I

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Objektorientierte Programmierung

Programmiervorkurs Einführung in Java Tag 1

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

Javakurs für Anfänger

Zahlensysteme. von Christian Bartl

Tutorium Rechnerorganisation

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

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

JAVA-Datentypen und deren Wertebereich

Modellierung und Programmierung 1

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

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

5.4 Klassen und Objekte

3 Objektorientierte Konzepte in Java

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Deklarationen in C. Prof. Dr. Margarita Esponda

Übungsblatt 3: Algorithmen in Java & Grammatiken

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

2. Negative Dualzahlen darstellen

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

Das Rechnermodell - Funktion

Einführung in die Programmierung

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

Hello World! Eine Einführung in das Programmieren Variablen

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

2.5 Primitive Datentypen

IT-Basics 2. DI Gerhard Fließ

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

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

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

Computerarithmetik ( )

Vorkurs C++ Programmierung

Programmieren in Java

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

Daten verarbeiten. Binärzahlen

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

Einstieg in die Informatik mit Java

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Prinzipien der Softwareentwicklung S. Strahringer

Kurze Einführung in die Programmiersprache C++ und in Root

Elementare Konzepte von

Typumwandlungen bei Referenztypen

Einstieg in die Informatik mit Java

2. Programmierung in C

Übungen zu C++ Kapitel 1

Transkript:

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2

Variablen Daten werden in Variablen gespeichert. Variablen sind aus der Mathematik bekannt: y=5+x Variablen haben einen Namen (Bezeichner) und einen Wert. Bsp. x kann den Wert 8 haben. Variablen sind Behälter, die jeweils nur einen Wert eines bestimmten Datentyp beinhalten können. Bsp. x ist vom Datentyp 'ganze Zahl' (Integer), die Variable kann daher keine Zeichenkette enthalten. Variablen müssen vor der Verwendung deklariert werden, dabei wird der Name und der Datentyp festgelegt. 3

Bezeichner Bezeichner benennen Variablen, Klassen, Instanzen, Methoden, beginnen mit Buchstaben, _ oder $, anschließend folgen Buchstaben, Ziffern, Unterstrich, Dollar und/oder Unicode-Zeichen. Zur besseren Lesbarkeit wird eine einheitliche Form der Benennung der Klassen, Objekte, Methoden und Variablen empfohlen. Besteht ein Bezeichner aus mehreren Worten werden Sie folgendermaßen zusammengeschrieben: nameoftheuser 4

Bezeichner (forts.) Variablennamen (und Instanznamen): kleiner Anfangsbuchstabe. z.b.: zaehler oder meinzaehler Konstantennamen: komplett groß z.b.: MAXINT Klassennamen: ein Hauptwort, den ersten Buchstaben einer Klasse groß schreibt. z.b.: MeineErsteKlasse Methodennamen: sind Verben, beginnen mit Kleinbuchstaben. z.b.: getnamefromuser() 5

Datentypen und Werte Es gibt unterschiedliche Kategorien (Datentypen) von Werten: Ganze Zahlen: 2, 4754, -50 Gleitkomma (Reelle-) Zahlen: -3.4, 34.98, 34.83945 Wahrheitswerte: Richtig/Falsch Zeichen: a, b Zeichenketten: Hello World! Unterschiedliche Datentypen benötigen unterschiedlich viel Speicherplatz; z.b. Wahrheitswerte 1 Bit oder ASCII-Zeichen 7 Bit Grund für den Einsatz von Datentypen: Überprüfung sinnvoller Operationen (verhindert Addition hallo +3) Reservierung passenden Speicherplatzes 6

Primitive Datentypen In Java eingebaute Datentypen: Ganze Zahlen: byte, short, int, long Gleitkomma (Reelle-) Zahlen: float, double Zeichen: char Wahrheitswerte: boolean (true/false) Die Datentypen und ihre Eigenschaften (Größe, Genauigkeit) hängen nicht (wie bei anderen Programmiersprachen) vom jeweiligen Computersystem ab, sondern sind in Java einheitlich festgelegt. 7

Primitive Datentypen (forts.) Typ von bis byte -128 127 short -32768 32767 int -2.147.483.648 2147483647 long -9.223.372.036.854.770.000 9.223.372.036.854.770.000 char 0 65535 Unicode Wahrheits false werte boolean true float +/-1,40239846 * 10^-45 +/-3,40282347 * 10^38 double +/-4,94065645841246544 * 10^-324+/-1,79769313486231570 * 10^308 Ganzzahlen Gleitkommazahlen 8

Ganze Zahlen (Primitive Datentypen) Datentypen byte, short, int, long Operationen (Operanden und Ergebniswert sind ganze Zahlen) + Addition - Subtraktion * Multiplikation / Ganzzahldivision % Restbildung (Modulo-Funktion) Beispiele: 1, -45 weitere Operatoren folgen... 9

Gleitkommazahlen (Primitive Datentypen) Datentypen float, double Operationen: (Operanden und Ergebniswert sind Gleitkommazahlen) + Addition - Subtraktion * Multiplikation / Division Beispiel: 2.77, 1.0 (Achtung. als Komma!) weitere Operatoren folgen... 10

Datentyp char Zeichen (Primitive Datentypen) Operationen: (Operanden und Ergebniswert sind Zeichen oder Zeichenketten) + (Verkettung) Beispiel: a, z (Achtung einfaches Anführungszeichen!) weitere mögliche Werte für Character-Datentypen auf der nächsten Folie... 11

Zeichen (forts.) Tastatur-, Unicode oder Oktal-Zeichen in einfachen Hochkomma Tastaturzeichen Z Unicode-Zeichen \u005a Oktal-Zeichen \132 Sonderzeichen (Auswahl der Escapesequenzen) \b Backspace \ Doppeltes Hochkomma \n linefeed \\ Backslash \r carriage return \ Einfaches Hochkomma \t Tabulator 12

Wahrheitswerte (Primitive Datentypen) Datentyp boolean Operationen: Ergebniswert sind wieder Wahrheitswerte a && b a b (logisches UND: a ist wahr und b ist wahr) (logisches ODER: a ist wahr oder b ist wahr)!a (logisches NICHT: ist wahr wenn a falsch ist) Mögliche Werte: true, false 13

Wahrheitswerte (forts.) Folgende Operatoren ergeben Wahrheitswerte: < (kleiner) <= (kleiner oder gleich) == (gleich)!= (ungleich) >= (größer oder gleich) > (größer) z.b. z.b. Vergleich von von zwei zwei Integer-Variablen int a = 1; 1; int b = 2; 2; boolean bool = a <= <= b; b; Ergebniswert bool: true 14

Variablendeklarationen Variablen haben einen Namen und sind Behälter für Werte eines bestimmten Datentyps Damit Variablen verwendet werden können, müssen sie zuerst deklariert werden. z.b.: int i; short x, y; 15

Deklaration u. Initialisierung Deklaration: Datentyp name; z.b.: int abgaben; boolean an; mehrere Variable vom selben Typ: Datentyp name1, name2, name3; z.b.: int gehalt, lohn, provision; Wertzuweisung: variable = wert; z.b.: gehalt = 3000; provision = 2000; an = true; 16

Deklaration u. Initialisierung (forts.) Deklaration mit Initialisierung int gehalt = 3000; int provision = 100; double x = 0.000001; char zeichen = 'a'; boolean aus = false; Zugriff auf Variablenwerte gehalt = gehalt + provision; System.out.println( Gehalt: +gehalt); 17

Automatische Initialisierung von primitiven Datentypen Wird eine Variable bei der Deklaration nicht Initialisiert (Bsp. int i;), erhält sie automatisch folgenden Wert: Zahlen: 0 bzw. 0.0 Wahrheitswerte: false Zeichen/Referenzen*: null (bedeutet: leer) besser: explizite Initialisierung int provision = 0; *Referenzen werden erst später behandelt! 18

Datentypen-Beispiel class ArithmeticDemo { public static void main(string[] args) { int i = 37; int j = 42; double x = 27.475; double y = 7.22; Variablendeklarationen System.out.println("Variablenwerte..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); System.out.println("Addieren..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y)); Ausgabe der Variablenwerte Addition 19

Datentypen-Beispiel Teil2 }} System.out.println("Subtrahieren..."); System.out.println(" i - j = " + (i - j)); System.out.println(" x - y = " + (x - y)); System.out.println("Multiplizieren..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); System.out.println("Dividieren..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y)); System.out.println( Restwertbestimmung..."); System.out.println(" i % j = " + (i % j)); System.out.println(" j % i = " + (j % i)); System.out.println("Vermischte Typen..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); Subtraktion Multiplikation Division Rest gemischte Datentypen 20

Ausgabe des Programms Variablenwerte... i = 37 j = 42 x = 27.475 y = 7.22 Addieren... i + j = 79 x + y = 34.695 Subtrahieren... i - j = -5 x - y = 20.255 Multiplizieren... i * j = 1554 x * y = 198.37 Dividieren... i / j = 0 x / y = 3.8054 Restwertbestimmung... i % j = 37 j % i = 5 Vermischte Typen... j + y = 49.22 i * x = 1016.58 21

Konstanten Werte sollen während des gesamten Programmablaufes gleich bleiben. Konstante ist kein weiterer Datentyp. Deklaration: Sie werden mit dem Schlüsselwort final deklariert. final Datentyp NAME = Wert; z.b.: final double PI = 3.1416; 22

Typumwandlungen Java ist streng typisiert, Variablen dürfen nur Werte vom deklarierten Typ zugewiesen werden. Vergleichsoperatoren vergleichen nur Ausdrücke gleichen Typs. Es gibt implizite und explizite Typumwandlung int ganz = 3; double komma = ganz; //implizit float komma2 = (float) ganz; //explizit 23

Implizite Typumwandlung In manchen Fällen wird automatisch vom Compiler umgewandelt (implizite Typumwandlung) byte, short => int => long int => float float => double char => int Beispiel: short s = 3; // s=3 int i = s; // i=3 float g = 3 + i; // g=6.0 int b = a ; // b=97* int i = z - a ; // i=25* *Ascii-Werte a=97, z=122 24

Implizite Typvergrößerungen Java nimmt diese Konversionen, falls nötig, bei Zuweisungen, Methoden- und Konstruktoraufrufen und bei der Auswertung von Ausdrücken implizit vor. Zuweisungskompartibilität: byte -> short -> int -> long -> float -> double Kein Informationsverlust! Ausnahme beim Übergang zu den Gleitkommazahlen: bei long -> float wird Genauigkeit verloren 25

Explizite Typumwandlung (Cast) Explizite Angabe des umzuwandelnden Typs double d = 7.99; int i = (int) d; /*i =7, da keine Nachkommastellen beim Datentyp int */ int zahl = 33000; short s = (short)zahl; //s=-32536 /*Zahl außerhalb des Wertebereichs 33000 binär = 1000 0000 1110 1000 Die erste Ziffer wird nun als Minuszeichen interpretiert und ergibt den Wert -32536 im 2er-Komplement (-32768 + 232)*/ ACHTUNG! Die Typverkleinerung kann zu falschen Werten führen, wenn der Wertebereich des Zieldatentyps nicht ausreicht, den Wert darzustellen. 26

Exkurs: Zeichenketten (Strings) Achtung: Zeichenkette ist keine primitiven Datentyp sondern ein Objekt-Datentyp* Operationen: Verkettung, Ergebniswert ist wieder eine Zeichenkette + (Verkettung) Mögliche Werte: z.b. "Hallo World" = Kombinationen vom Typ char Initialisierung String s = "A short way to initialize"; (oder* String id = new String( "The long way" ); ) * Wird später genau behandelt 27

Exkurs: Unicode... Entspricht im unteren Bereich ASCII Bsp: char c = '\u0060';... 28

Nach dieser Einheit sollten Sie... Die verschiedenen Arten von Variablen kennen. alle primitiven Datentypen deren Initialisierung und gängigen Operationen. Variablen verschiedenen Typs definieren, deren Typ umwandeln, und damit rechnen können. Die Konventionen zur Bezeichnung von Variablen, Methoden und Klassen kennen. 29