Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger

Slides:



Advertisements
Similar presentations
Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts
Advertisements

Fachbereich Elektrotechnik und Informationstechnik
A question of German
Präpositionen!!!!. bis until durch through für for.
Gründlich durchgecheckt steht sie da Thoroughly checked over she stands there und wartet auf den Start alles klar And waits on the start…All is clear.
Session Tracking Problem: Identifizierung und Speicherung persönlicher Daten Warenkorb Lösung: Session mit ID Anmeldung ID REQ + ID RES ID: JKLMGHNB45kdse43k.
Vorbilder in der Bibel Johannes der Täufer. Die Geburt von Johannes Die Geburt von Johannes dem Täufer war ein Wunder. Obwohl seine Eltern sehr alt waren,
Von Spencer Petersen und Kellen Knight. Dative and accusative prepositions are so named because the prepositional phrase that the preposition makes is.
Grundsätze und Herausforderungen der -Archivierung | SER Forum | Dr. Ulrich Kampffmeyer | PROJECT CONSULT Unternehmensberatung | 2007
STRING AN EXAMPLE OF REFERENCE DATA TYPE. 2 Primitive Data Types  The eight Java primitive data types are:  byte  short  int  long  float  double.
Migration in die Cloud – so gelingt ein nachhaltiger Umstieg.
A* Pathfinding. Basis A* Algorithmus add the starting node to the open list while the open list is not empty { current node=node from open list with the.
EECC250 - Shaaban #1 lec #13 Winter HEX DEC CHR Ctrl 00 0NUL 01 1 SOH ^A 02 2STX ^B 03 3ETX ^C 04 4EOT ^D 05 5ENQ ^E 06 6ACK ^F 07 7BEL.
Kapitel 3: Erhaltungssätze 3.6 Drehimpulserhaltung.
Universität Konstanz MPIEW Jena Universität Karlsruhe (TH) Inflexibilitäten und die Rolle strategischer Interaktion bei der Festlegung der Lohn- und Beschäftigungspolitik.
Präsentation Baulandbewertung Präsentation am Institut für Stadt- und Regionalforschung Versuch einer Baulandbewertung.
Projektarbeit: Tätigkeits-Bewertungssystem (TBS)
WebGIS als Instrument für die WOZ-Aufnahmen? Jochen Häußler, European Media Lab.
OTTO VON GUERICKE UNIVERSITÄT MAGDEBURG Professorin: apl. Prof. Dr. rer. nat. habil. Heidemarie Bräsel Graphentheorie in der Schule Graphentheorie in der.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 3. Vorlesung WS 2001/2002.
9/14/2004Comp 120 Fall September 2004 First Exam next Tuesday 21 September Programming Questions? All of Chapter 3 and Appendix A are relevant.
“Girls only want boyfriends with great grammar.”.
Präsentiert: Dialog am Telefon zwischen Mutter und Tochter Irgendeine Ähnlichkeit mit der Wirklichkeit..... ist kein ZUFALL.
The character data type char
BIOS1 Basic Input Output System BIOS BIOS refers to a set of procedures or functions that enable the programmer have access to the hardware of the computer.
Digital Design: From Gates to Intelligent Machines
läuft automatisch Was gibt es Schöneres, als eine festlich geschmückte Wohnung!
PEPPOL (Pan European Public Procurement Online) by IBM
1 Information Representation in Computer Lecture Nine.
CS 2130 Lecture 23 Data Types.
Systems Architecture, Fourth Edition 1 Data Representation Chapter 3.
Simple Data Types in C Alan L. Cox Objectives Be able to explain to others what a data type is Be able to use basic data types in C programs.
Wie kann man Papier sparen??? Ich möchte euch erklären wie man Papier sparen oder Recyceln kann damit man die Umwelt schützen kann.
Theologische Fakultät Titelseite ohne Bildleiste. Titel in Palatino Linotype Fett 24pt, max. 2-zeilig Titelbeschreibung / Unterüberschrift / Autoren Palatino.
ist ein Außerirdischer mit hellseherischen Fähigkeiten, der in riskanten Situationen mit seinem Raumschiff zur Stelle ist. Sicherheit macht mich richtig.
Wenn Sie Kopfschmerzen haben, sollen Sie sich still ruhen, warmen Tee trinken. Wenn Kopfschmerzen weiter verlaufen, hoeren nicht auf, nehmen Sie Tabletten.
PRIMITIVE TYPES IN JAVA Primitive Types Operations on Primitive Types.
Fahrer Sebastian Schmitt Rothenbergerweg Wald-Michelbach Tel.:06207/83078 Tel.: 06207/ Sponsorenmappe Familie Mike, Stefanie und Michelle.
The Dipole Repeller General equation of an Ellipse.
Welcome to java einfach objektorientiert verteilt interpretierend
Bits, Data Types, and Operations
Chapter 2 Bits, Data Types, and Operations
Machine level representation of data Character representation
Internet <> School
The SHA Family of Hash Functions: Recent Results
Cases with prepositions
Cases with prepositions
Javascript, Loops, and Encryption
APFEL. LEITER DER FIRMA Diese Firma wurde am 1 April 1976 gegrundet.Der Name der Firma ist Englisch. Apfel (Apfel) das Apfelbild wird im Logo.
Paralympischen Spiele.  Geschichte der Olympischen Spiele ist vielen bekannt. Leider viel weniger bekannt ist, Paralympics, oder, wie sie schreiben,
Herzlich willkommen SEMINARUNTERLAGEN WEBSHOP. EINFUHRUNG Jede Geschäftsfrau / Jeder Geschäftsmann sollte zumindest einmal Seminarunterlagen von uns gekauft,
Redesign Firmen-Websites
ObenWebdesign Agentur Berlin Wenn es um Webdesign Agentur Berlin geht, sollten Sie nicht lange überlegen und direkt eine professionelle Online Marketing.
Wie beheben wir Probleme bei der Produktrückgabeschlüsseln bei der technischen Unterstützungsnummer von Microsoft ?
Ruf uns an Wenn Ihre Office-Apps abgestürzt sind, machen Sie sich keine Sorgen, denn wir sind mit unserem Experten-Team unterwegs, das.
Wie beheben unsere Experten unter Windows 10 Technische Unterstützung Nummer Zwischenablage Probleme?
ASCII Character Codes nul soh stx etx eot 1 lf vt ff cr so
October 1 Programming Questions?
Cosc 2P12 Week 2.
单击此处添加标题 This text can be replaced with your own text.
This presentation uses a free template provided by FPPT.com Container Transporte Hamburg By Robert Dittmers.
This presentation uses a free template provided by FPPT.com Container Transporte Hamburg By Robert Dittmers.
Number Systems Lecture 2.
PILGERN – WARUM, SEIT WANN und WER?. BEDEUTUNG DES WORTES „PILGERN“! Das Wort „Pilger“ kommt aus dem Lateinischen (peregrinus) = „Fremder“. Eine Pilgerreise.
Rayat Shikshan Sanstha’s S. M. Joshi College, Hadapsar
Cosc 2P12 Week 2.
Click the placeholder text and type your own text.
Insert the title of your Presentation here
Ppt宝藏_www.pptbz.com_提供下载 This text can be replaced with your own text.
CBD Trofen CBD Trofen ist ein billiger CBD Tropfen, reines CBD, CBD Öl, Hanf Tropfen Verkäufer in der Schweiz.
Presentation transcript:

Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger UE02 B - Variablen und Datentypen

Abteilung für Telekooperation Folie-2 Softwareentwicklung I UE Schwinger [

Abteilung für Telekooperation Folie-3 Softwareentwicklung I UE Schwinger Was wäre wenn?! a = "Hello World" b = 42 c = a / b Was soll der Comuter an dieser Stelle wohl machen? Was ist das Ergebnis für c?

Abteilung für Telekooperation Folie-4 Softwareentwicklung I UE Schwinger Variablen und Datentypen Variablendeklaration  Variablen müssen vor ihrer ersten Verwendung deklariert werden ■ Zweck: Bekanntgabe des Namens und des Datentyps für den Compiler ■ z.B. int i; short s1, s2;  Variableninitialisierung ■ Zweck: Explizite Belegung der Variable mit einem Ausgangswert. In Java sind Variablen mit einem Wert vorinitialisiert. Auf diesen sollte man sich in Hinblick auf andere Programmiersprachen nicht verlassen. ■ z.B. i = 0; ■ shortVar1 = 1, ■ Deklaration und Initialisierung können zusammenfallen! ■ z.B. short shortVar2 = 2;  Konstanten ( final ) ■ Konstanten sind Variable, deren Wert sich nicht mehr verändert! ■ final float PI = ;

Abteilung für Telekooperation Folie-5 Softwareentwicklung I UE Schwinger Variablen und Datentypen Was ist ein Datentyp?  Java ist eine hybride Sprache, d.h. es verfügt über privimitive und Objekt/Referenz-Datentypen  Primitive Datentypen: ■ Im Grundvokabular von Java "eingebaut".  Datentyp bestimmt... ■ die Menge von Werten, die zu diesem Typ gehören, z.B. byte ist die Menge der ganzen Zahlen zwischen -128 und 127 ■ die Operationen, welche auf den Daten des Typs ausgeführt werden dürfen, z.B. für int +, -, *,...  Statische Typisierung ■ Jede Variable und jeder Ausdruck hat einen statischen Datentyp ■ Compiler überprüft auf erlaubte Werte und erlaubte Operationen (statische Typprüfung)

Abteilung für Telekooperation Folie-6 Softwareentwicklung I UE Schwinger Variablen und Datentypen Primitive Datentypen  Primitive Datentypen: DatentypBytesWerte Bereich boolean 1true / false char 2Unicode Zeichensatz byte bis bis 127 short bis bis int bis bis long bis bis float 4+/ Achtung beschränkte Genauigkeit! double 8+/ Achtung beschränkte Genauigkeit!

Abteilung für Telekooperation Folie-7 Softwareentwicklung I UE Schwinger Variablen und Datentypen Numerische Datentypen 1/3  Ganze Zahlen ■ byte -128 … 127 (1 Byte) ■ short … (2 Bytes) ■ int … (4 Bytes) ■ long … (8 Bytes)  Gleitpunktzahlen (IEEE 754) ■ float +/ e-45 … 3.4e+38 (4 Bytes) ■ double +/- 4.94e-324 … 1.798e+308 (8 Bytes)

Abteilung für Telekooperation Folie-8 Softwareentwicklung I UE Schwinger Variablen und Datentypen Numerische Datentypen 3/3  Arithmetische Operatoren: +, -, *, /, % ■ Punkt- vor Strichrechnung … * 3 … // 7 … (1 + 2) * 3 … // 9  Bit-Operatoren: &, |, ^, ~, >, >>> ■ nur auf ganzen Zahlen ( byte, short, int, long )  Verlgeichsoperatoren: =, > ■ Datentyp des Ergebnisses ist boolean … i+j <= 10 …

Abteilung für Telekooperation Folie-9 Softwareentwicklung I UE Schwinger Variablen und Datentypen Gleitkommazahlen Der Altmeister der Numerik W. Kahan schreibt dazu in seinem pointierten und teilweise ironischen Stil:  Jede Rechnung mit Gleitkommazahlen ist mindestens leicht fehlerhaft.  In einer Gleitkommaarithmetik repräsentiert eine Zahl die Menge aller Zahlen, die von ihr in der Stelle nach der letzten abweichen. „3“, „3.0e0“ und „3.0d0“ sind als Gleitkommazahlen verschieden (will sagen, verschiedene Mengen).  Arithmetik, die genauer ist als die bearbeiteten Daten ist nutzlos und eine Verschwendung.  In einer Gleitkommaarithmetik ist nichts jemals genau 0; Falls doch, gibt es keinen Grund +0 und −0 zu unterscheiden.  Auslöschung bei Subtraktionen verursacht immer numerische Ungenauigkeiten oder ist die einzige Ursache dafür.  Eine Singularität vermindert die Genauigkeit, wenn die Zahlen ihr zu nahe kommen. Schlecht konditionierte Daten und Probleme verdienen nichts anderes als ungenaue Ergebnisse.  Klassische Schulregeln und -formeln, auch wenn sie in Büchern stehen, müssen die Probe der Zeit bestanden, nicht nur überstanden haben.  Fortschritt ist unvermeidlich; wenn bessere Formeln gefunden werden, ersetzen sie die alten.  Die moderne backward analysis zur Fehlerfortpflanzung erklärt alle Fehler – oder entschuldigt sie.  Als numerisch instabil bekannte Algorithmen sollten nie verwendet werden.  Falsche Ergebnisse sind immer auf schlechte Daten oder schlechte Programmierer zurückzuführen, niemals auf eine schlechte Programmiersprache.  Die meisten Eigenschaften des IEEE 754 sind zu obskur, um für die meisten Programmierer eine Bedeutung zu haben.  „Schönheit und Wahrheit sind dasselbe. Das ist alles was wir auf Erden wissen und wissen müssen“ aus Keats, Ode auf eine griechische Urne. Anders ausgedrückt: Über häßliche Details sollte niemand Schweiß vergießen!Jede Variable und jeder Ausdruck hat einen statischen Datentyp

Abteilung für Telekooperation Folie-10 Softwareentwicklung I UE Schwinger Variablen und Datentypen Objekttype / Referntypen  Objekttypen (Referenztypen) ■ Klassen  z.B. String, BigInteger, BigDecimal, List ■ Interfaces ■ Arrays  z.B. int[], String[]  Mehr dazu wenn wir zum Themenbereich Arrays und Objektorientierung kommen.

Abteilung für Telekooperation Folie-11 Softwareentwicklung I UE Schwinger Variablen und Datentypen Literale  Literale ■ int : 0, 123, -33 ■ long : 0L, 123l ■ float : 0f, 1.234F,.7e6F ■ double : 2e-3, 0.11E-04, 4d  Oktale ( 0… ) und hexadezimale ( 0x… ) Literale 0123// 83 int 077L// 63 long 0x77L// 119 long 0xbadFace// int

Abteilung für Telekooperation Folie-12 Softwareentwicklung I UE Schwinger Variablen und Datentypen Division durch 0  Ganze Zahlen ( byte, short, int, long ) ArithmeticException  Fließkommazahlen ( float, double ) POSITIVE_INFINITY NEGATIVE_INFINITY -0.0 NaN = not-a-number, ist ungleich mit jeder Zahl, auch mit sich selbst -> java.lang.Double.isNaN()  Beispiele 1.0 / 0.0 => POSITIVE_INFINITY 1.0 / -0.0 => NEGATIVE_INFINITY 0.0 / 0.0 => NaN

Abteilung für Telekooperation Folie-13 Softwareentwicklung I UE Schwinger Variablen und Datentypen Zuweisungen  Zuweisung durch =, nicht := x = 10; x = x + 1;  Zuweisungskompatibilität ■ Entweder gleicher Typ der Variable und des Wertes, z.B. int ■ oder Typ der Variable schließt den des Wertes ein, z.B. int enthält short, byte ■ Sonst: Übersetzungsfehler (statische Typprüfung) die Variable x erhält den Wert 10 2) das Ergebnis wieder auf die Variable x gespeichert 1) zum Wert der Variable x wird der Wert 1 hinzugezählt und

Abteilung für Telekooperation Folie-14 Softwareentwicklung I UE Schwinger Variablen und Datentypen Zuweisungsoperatoren  Inkrement- und Dekrement x++;//oder ++x; //entspricht x = x + 1; x--;//oder --x; //entspricht x = x - 1; ■ Innerhalb von Ausdrücken: … x++ * 3 … //Ergebnis: x alt *3, und dann x neu =x alt +1 … ++x * 3 … //zuerst x neu =x alt +1, Ergebnis: x neu *3  Zuweisungsoperatoren ■ Kurzschreibweise für x = x y; z.B.: x += 1; // x = x + 1; y /= 10; // y = y / 10;

Abteilung für Telekooperation Folie-15 Softwareentwicklung I UE Schwinger Variablen und Datentypen Typkonvertierung  Alle numerischen Typen lassen sich gegenseitig umwandeln byte  short  int  long  float  double ■ In Ausdrücken und bei Zuweisungen automatisch in den größeren Typ short s; long l; … l + 1 … // long … s + 1 … // int (the type of 1 is int) ■ Explizite Typkonvertierung durch type cast s = (short) (s+1); //type cast required Explizite Typkonvertierungen nur, wenn notwendig und man weiß was man tut!

Abteilung für Telekooperation Folie-16 Softwareentwicklung I UE Schwinger +-*/%charbyteshortintlongfloatdouble charint longfloatdouble byteint longfloatdouble shortint longfloatdouble int longfloatdouble long floatdouble float double Typumwandlungen

Abteilung für Telekooperation Folie-17 Softwareentwicklung I UE Schwinger Variablen und Datentypen Zuweisungskompatibilität int i,j; short s; byte b; i = j; //ok, same type i = s; //ok, int contains short s = i; //error i = 300; //ok (number constants are of type int) b = 1; //ok (1 is of type int; // the compiler knows, however, that 1 fits into byte) b = 300; //error (300 does not fit into byte)

Abteilung für Telekooperation Folie-18 Softwareentwicklung I UE Schwinger Variablen und Datentypen Type Cast int i; short s; byte b; s = (short)i;//possible loss of data b = (byte)300;// 44 (lowest byte) b = (byte)400;// -112 (lowest byte) i = (int)1.9;// 1 (rounded down) i = (int)10e20;// (max. of int) int i (short)i avoid!

Abteilung für Telekooperation Folie-19 Softwareentwicklung I UE Schwinger Variablen und Datentypen boolean  Wahrheitswert ( true oder false ) boolean b = true;  Boolsche Operationen: &, |, ! int i=10, j=-1; boolean b = i > 0 & j > 0;//false ■ mit „Kurzschluß-Auswertung“: &&, || while (i<tab.length && tab[i]!=0) {…}  Vergleichsoperationen: ==, != boolean b = i>0 == true;//entspricht b = i>0;

Abteilung für Telekooperation Folie-20 Softwareentwicklung I UE Schwinger Variablen und Datentypen Der Auswahloperator „? :“  Bedingte Auswertung int max = a > b ? a : b;  Abkürzung für: int max; if (a > b) max = a;// a war groesser else max = b;// b war groesser  Nur erlaubt bei Ausdrücken, deren Ergebnis verwendet wird (Zuweisung, Parameter)

Abteilung für Telekooperation Folie-21 Softwareentwicklung I UE Schwinger Variablen und Datentypen char  Unicode Zeichen (2 Bytes) ■ char a = 'a'; char a = (char)65; int shift = 'd'-'a';// gives 3  Escape-Sequenzen ■ \", \', \\, z.B. char singleQuote = '\''; ■ Steuerzeichen: \b, \t, \n, \r, \f ■ Unicode: \u0000 … \uFFFF, z.B. \u00e4 = ä ■ Oktale Darstellung: \123  Arithmetische Operatoren +, -, *, /, %

Abteilung für Telekooperation Folie-22 Softwareentwicklung I UE Schwinger ASCII-Codetabelle Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex (nul) x00 | (sp) x x40 | ` x60 (soh) x01 | ! x21 | A x41 | a x61 (stx) x02 | " x22 | B x42 | b x62 (etx) x03 | # x23 | C x43 | c x63 (eot) x04 | $ x24 | D x44 | d x64 (enq) x05 | % x25 | E x45 | e x65 (ack) x06 | & x26 | F x46 | f x66 (bel) x07 | ' x27 | G x47 | g x67 (bs) x08 | ( x28 | H x48 | h x68 (ht) x09 | ) x29 | I x49 | i x69 (nl) x0a | * x2a | J x4a | j x6a (vt) x0b | x2b | K x4b | k x6b (np) x0c |, x2c | L x4c | l x6c (cr) x0d | x2d | M x4d | m x6d (so) x0e | x2e | N x4e | n x6e (si) x0f | / x2f | O x4f | o x6f (dle) x10 | x30 | P x50 | p x70 (dc1) x11 | x31 | Q x51 | q x71 (dc2) x12 | x32 | R x52 | r x72 (dc3) x13 | x33 | S x53 | s x73 (dc4) x14 | x34 | T x54 | t x74 (nak) x15 | x35 | U x55 | u x75 (syn) x16 | x36 | V x56 | v x76 (etb) x17 | x37 | W x57 | w x77 (can) x18 | x38 | X x58 | x x78 (em) x19 | x39 | Y x59 | y x79 (sub) x1a | : x3a | Z x5a | z x7a (esc) x1b | ; x3b | [ x5b | { x7b (fs) x1c | < x3c | \ x5c | | x7c (gs) x1d | = x3d | ] x5d | } x7d (rs) x1e | > x3e | ^ x5e | ~ x7e (us) x1f | ? x3f | _ x5f | (del) x7f

Abteilung für Telekooperation Folie-23 Softwareentwicklung I UE Schwinger Variablen und Datentypen String  Unicode Zeichenkette (ein Objekt) String x = "Johann Wolfgang von Goethe"; String s = "Jim said, \"Hello!\""; String l = ""; //Leerer String String n = null; //Kein String  Operator + zur Verkettung von Strings String name = "Spencer"; s = "Hallo, " + name + "!"; //"Hallo, Spencer!" ■ Automatische Umwandlung in Strings bei + int x = 10; s = "x=" + x + " meter"; //"x=10 meter" s = "y=" + 1 * 2 + "3"; //"y=23" !!! s = 1 * "=z"; //"5=z"