IT Basics 2 Handout u

Ähnliche Dokumente
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

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

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

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

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Java - Programmierung - Prozedurale Programmierung 1

Herzlich willkommen!

RO-Tutorien 3 / 6 / 12

Einstieg in die Informatik mit Java

Klausur Grundlagen der Programmierung

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

Welche Informatik-Kenntnisse bringen Sie mit?

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

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

Einstieg in die Informatik mit Java

Primitive Datentypen

RO-Tutorien 15 und 16

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

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

Schleifen Datenfelder (Arrays) Verzweigungen

Einstieg in die Informatik mit Java

Anweisungen zur Ablaufsteuerung

2 Programmieren in Java I noch ohne Nachbearbeitung

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Einführung in C. EDV1-04C-Einführung 1

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

Programmieren I + II Regeln der Code-Formatierung

RO-Tutorien 17 und 18

Objektorientierung. Marc Satkowski 20. November C# Kurs

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

Überblick. Typanpassungen Iteration mit Schleifen Bedingte Anweisungen. Agile Softwareentwicklung Einfaches Ratespiel.

Wie entwerfe ich ein Programm?

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

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

Android-Apps Gegenüberstellung Delphi java

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

Schöner Programmieren

Vorkurs Informatik WiSe 16/17

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

3. Anweisungen und Kontrollstrukturen

Einstieg in die Informatik mit Java

Schöner Programmieren

Java Zusammenfassung. Basisdatentypen ganzzahlig: Byte, Short, Integer, Long Fließkomma: Float, Double Zeichen: Character Wahrheitswerte: Boolean

Einstieg in die Informatik mit Java

Java Spickzettel von Panjutorials.de

Programmierung für Mathematik (HS13)

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Einstieg in die Informatik mit Java

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

Algorithmen zur Datenanalyse in C++

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

IT-Basics 2. DI Gerhard Fließ

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

Fakultät IV Elektrotechnik/Informatik

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

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Java-Schulung Grundlagen

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

Einstieg in die Informatik mit Java

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Theorie zu Übung 8 Implementierung in Java

Welcome to java. einfach objektorientiert verteilt interpretierend robust secure architekturneutral portabel schnell parallel(multitheded)

Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel

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

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

Wo sind wir? Kontrollstrukturen

Kontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung

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

Vorkurs Informatik WiSe 17/18

Java Anweisungen und Ablaufsteuerung

Einstieg in die Informatik mit Java

II.4.2 Abstrakte Klassen und Interfaces - 1 -

Grundlagen der Modellierung und Programmierung, Übung

1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen

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

Die Programmiersprache C Eine Einführung

PVK Informatik I 1.Teil. Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen

System.out.println("TEXT");

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

Wenn... dann... if (condition) statement. if (kontostand < 0) System.out.println("Oops..."); false. condition. true. statement

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Erste Java-Programme (Scopes und Rekursion)

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Java Ablaufsteuerung (Beispiele)

Programmieren in Java

Java Einführung Methoden. Kapitel 6

Übungen zu Programmieren - Code-Formatierung -

PR1-MB, SS10 Seite 1 Hauptklausur, geschrieben am Di

Vererbung. Definition Felder Konstruktor Methoden Beispiel. Dr. Beatrice Amrhein

Transkript:

IT Basics2Handout9.9.2008u.16.9.2008 FürdasErstellenvonobjektorientiertenProgrammenistesnebendemVerständnisder Objektorientierungauchnötig,einigegrundlegendeKonzeptederProgrammierungzuverstehen. DiesegrundlegendenKonzeptesindThemaderzweitenLehrveranstaltungundteilweiseauchder drittenlehrveranstaltung. EinengutenundausführlichenÜberblickzudenThemengibtdasKapitel2in http://openbook.galileocomputing.de/visual_csharp/ Variablen VariablenbietendieMöglichkeiteinzelneWertezuspeichern.Siemüssendeklariertund initialisiertwerden.beiderdeklerationwirdderspeicherbereichfürdievariablereserviert.es gibtsyntaxkonventionenwienamenvonvariablenaufgebautseinmüssen.siemüssen alphanumerischsein,dürfenkeinesonderzeichen(#,,$)beinhalten;daszeichen_istallerdings erlaubt.siemüssenmitbuchstabenoder_anfangen.nur_istnichterlaubt.siemüsseneindeutig sein(esdarfalsokeinezweigleichenvariablennamengeben)undsiedürfennichtwieein Schlüsselwortbenanntwerden. Datentypen VariablenkönnenZahlen,ZeichenkettenoderlogischeAusdrückebeinhalten.Datentypenhaben einenbestimmtenwertebereich.wirddieserüberschritten(durchz.b.einemathematische Operation)kommteszueinemFehlerunddasProgrammstürztu.U.ab.DieEinhaltungder Wertebereichemusssichergestelltwerden.DiewichtigstenDatentypenmitIhremWertebereich sind: byte:0 255 int: 2 31 2 31 1 float:1,4*10 45 bis3,4*10 38 doule:5,0*10 324 bis1,7*10 308 string:zeichenkette boolean:true/false DatentypenkönnenunterEinhaltungdesWertebereichesimplizit(automatisch)konvertiert werdenweilderwertebereichdabeinichtverletztwerdenkann:byte >int >float >double.in eineandererichtungkannmannurdannzuweisenwennmandiesexplizitangibt.daskannman durchangabedestypsin(). int a = 10; double c = a; a = (int)c MankannauchConvert.<Methode>benutzen.Damitistesmöglichz.B.eineZeichenketteineinen intzuwandeln. string a = 10 ; int b = 0 b = Convert.ToInt32(a)

Felder WillmanmehrereWerteverwaltensobietensichvorerstFelder(Arrays)an.EinFeldhateinefixe Größe,diebeiderInitialisierungangegebenwird.BeiderDeklerationgibtman[]anumzu markieren,dassdieseinfeldist. int[] feld; feld = new feld[3]; NunkannmanaufdieeinzelnenWerteimFeldübereinenfortlaufendenIndexzugreifendermit0 beginnt. feld[1] = 3; MankanndieDeklerationunddieInitialisierungauchineinerZeileschreibenwobeiWertediein geschriebenwerdendirektzugewiesenwerden.mankannentwederdiegrößedesarraysangeben oderdurchdieanzahlderwerteinbestimmenlassen. int[] feld1 = new int[3]1,2,3; int[] feld2 = new int[]1,2,3; FelderkönnenfüralleDatentypebenutztwerden. Bedingungen BedingteVerzweigungendienendazu,denAblaufineinemProgrammzubeeinflussen.Zentral dabeisindboolscheausdrückeüberdieentschiedenwird,welcherzweigdurchlaufenwird. Dasif KonstruktbietetdieMöglichkeitanhandeinesboolschenAusdruckeszuentscheidenwelcher Codeabschnittbenutztwird. if ( boolscher-ausdruck ).. else.. MussmanzwischenmehrerenWertenunterscheidenkannmandasswitch Konstruktbenutzen. switch (variable) case Wert1: case Wert2: default: Jede,caseAbschnittindemeinProgrammcodestehtmussmiteinembreakbeendetwerden.Es wirdvonobenbeginnenddiewerteausgewertet.solltekeinwertübereinstimmen,sowirdder defaultzweigausgewählt.

Schleifen InmanchenFällenistesnotwendignichtnurverschiedeneZweigederVerarbeitungauszuwählen sonderngewisseabschnitteimquellcodezuwiederholen.dazugibtesdreiverschiedenenarten vonschleifen. Diefor Schleifebenutztmandann,wennmanvonvornhereinweißwieoftmaneinenTeil wiederholenmöchte. for (Start;Bedingung;Increment) StartdientdazudieSchleifezuinitialisierenundwirdnuramAnfangausgeführt.DieSchleifewird solangewiederholt,solangedieangegebenebedingung(boolscherausdruck)erfülltist.daswird vorjedemschleifendurchlaufgeprüft.incrementwirdoftdazuverwendetdenschleifenzählerzu erhöhen.daswirnachjedemdurchlaufausgeführt. for(int index=0;index<10;index++) Console.WriteLine(index); Möchtemanz.B.Feld(späterwerdenwirnochandereDatenstrukturenkennenlernen) durchlaufensobietetsichdieforeach Schleifean.DabeiwerdenalleWerteindemFelddurchlaufen undsteheninderschleifealsvariablezuverfügung. foreach (type var1 in var2) TypedefiniertdenbenutztenDatentyp,var1dieVariablediedeneinzelnenWertimFeld beinhaltetundvar2istdievariablediedasfeldbeinhaltet. int[] feld2 = new int[]1,2,3; for(int wert in feld2) Console.WriteLine(wert); DieletztederfürunswichtigenSchleifenistdiewhileSchleife.Diesewirdbenutztwennmandie WiederholungdesAbschnittesaneineallgemeineBedingungbindenmöchteundnichtgenauweiss wieoftdieschleifewiederholtwerdensoll. while (Bedingung) SolangedieBedingungerfülltistwirddieSchleifewiederholt. Übungsaufgaben 1. ErstellenSieeineAnwendungdiedenarithmetischenMittelwerteinesArraysbestehend ausintwertenberechnetundaufderconsoleausgibt. 2. ErstellenSieeineAnwendungdiegrößteunddieKleinsteZahlineinemArraybestehendaus intwertensuchtundaufderconsoleausgibt. 3. ErstellenSieeineAnwendungdieüberprüftobineinemArraybestehendausintWerten mindesteneinwertemehralseinmalvorkommt.siesollausgebenobundwelcherwert mehralseinmalvorkommt. 4. SchreibenSieeineAnwendungdiedengrößtenTeilereinerZahlausgibt.BenutzenSiedabei z.b.den%operator.

KlassenundObjekte ImLaufederVorlesungwerdenwirunsnochausführlichmitdenBegriffenKlasseundObjekt beschäftigen.dieersteauseinandersetzungmitdenbegriffenistanrealexistierendedinge angelehnt,dadiesebekanntunddeswegenauchleichteranalysierbarsind.wirgehenamanfang auchnochnichtaufalledetailseinsondernzuerstbeschäftigenwirunsmitdemwesenvon KlassenundObjekten. EineKlassekannwieeinBauplan,eineVorlageverstandenwerden.Siebeschreibtwelche EigenschaftenetwashatundwelcheAktionen/Vorgängeetwasdurchführenkann.Die EigenschaftenwerdeninVariablenderKlassebeschriebendieAktioneninMethoden.EinAutohat z.beinefarbe,eineaktuellegeschwindigkeitusw.daswärendieeigenschaften.eskann beschleunigen,abbiegen,bremsenusw.daswärendieaktionen.diesehabenimmereine AuswirkungaufdieEigenschaften.BeimBeschleunigenverändertsichz.B.dieaktuelle Geschwindigkeit. AuseinerKlassekannmannuneinkonkretesObjektmachen.DasObjekthatnunkonkreteWerte fürz.b.diegeschwindigkeitoderdiefarbe.hatmanz.b.einautomodelliertdannkannmanein ObjekterstellendaseinrotesAutomitderaktuellenGeschwindigkeit0beschreibt. ManchmalsollendieEigenschafteneinerKlassenichtveränderbarseinaberabgefragtwerden könnenz.b.diematrikelnummereinesstudierenden.indiesemfallmussmansicherstellen,dass beimerstellendesobjektesdiesewertegesetztwerdenundvonaußennurlesbarsind. KlasseninC# AlldieseAspektevonKlassenlassensichinC#realisieren.DieEigenschaftenkannmanmit VariablendieinnerhalbderKlassedeklariertwerdenumsetztenwieimBeispieldieVariablen breiteundhoehe. DieAktionensindinMethodenUmgesetztwieimBeispieldieMethodeberechneFlaeche()unddas InitialisierenvonVariablenbeimerstellenderKlasseistüberdenKonstruktorgelöst.Der KonstruktoristeinespezielleMethodediebeimErstelleneinesObjektesaufgerufenwird.Erheißt immergleichwiedieklasse. class Rechteck private double breite; private double hoehe; public Rechteck(double h, double b) breite = b; hoehe = h; public double berechneflaeche() return breite* hoehe; public void skalieren(double f) breite = breite * f; hoehe = hoehe * f;

GehenwirnunkurzaufdieeinzelnenTeilenocheinmalgenauerein.DieVariablenbreiteund hoehesindalsprivatmarkiert,dasheißtvonaußensinddiesenichtsichtbar.siekönnenaberin MethodenderKlasse(wiez.B.berechneFlaeche)benutztwerden.Nebenprivategibtesauchpublic. DadieseSchlüsselwortedenZugriffsteuern,gehörensieindieGruppederAccess Modifier. MethodenbildendieAktioneneinerKlasseabundihreDefinitionbeginntauchmiteinemAccess Modifier.DanachmussangegebenwerdenobdieMethodeeinErgebniszurückliefert(Datentyp) odernicht(void).wenneinwertzurückgegebenwirdsobenutztmandasschlüsselwortreturn. DieMethodemussweiterseinenNamenbekommen(z.B.berechneFlaeche).InrundenKlammern werdenparameterdefiniertdieandiemethodeübergebenwerdenkönnen.dasmussabernicht sein.esistoftderfall,dasskeineparameterübergebenwerden.willmanaberwerteübergeben (sieheskaliere(doublef))mussmanzuerstdendatentypangebenunddanndennamender VariablendieinnerhalbderMethodedenWertbeinhaltensoll. ObjekteundReferenzeninC# UmnunauseinerKlasseeinkonkretesObjektzuerzeugenbenötigtmanzuersteineVariabledie vontypderklasseistunddanachmussmaneinneuesobjektmitdemschlüsselwortnew erzeugen.dabeiwirdderkonstruktoraufgerufenunddiewertefürdieinitialisierungdesobjektes übergeben. Rechteck r1; // Dekleration r1= new Rechteck(10.0, 20.0); Rechteck r2: r2=r1; r1undr2werdenalsreferenzenbezeichnet.eskannsein,dasszweireferenzvariablenaufeinund dasselbeobjektzeigen.imbeispielwirdz.b.nureinmaleinobjektmitnewangelegtaberr1und r2zeigenaufdasselbeobjekt.verändertmandiesesz.b.durchdenaufrufvonskaliere,sokönnen dieauswirkungensowohlüberr1alsauchüberr2beobachtetwerden. ReferenzenkönnennatürlichauchwieandereVariableninFeldernundauchinforeachSchleifen benutztwerden. Rechteck[] rechtecke = new Rechteck[] new Rechteck(2,3), new Rechteck(3,4); foreach (Rechteck r in rechtecke) Console.WriteLine(r.berechneFlaeche()); Übungsbeispiele 1. ImplementierenSieeineKlaseStudent.DieMatrikelnummersollbeimInstanzierengesetzt werden,vor undnachnameübereigenemethoden.schreibensieaucheinemethode,die InformationenzumStudentenalsStringzurückgibt(Matrikelnummer:Vorname Nachname). 2. ImplementierenSieeineKlasseBestellzeiledieeinenProduktnamen,einenProduktpreis undeineanzahlverwaltenkann.siesollauchdensummenpreisundinformationenzur Bestellzeile(Name,Anzahl,Preis,Summe)ausgebenkönnen.ErstellenSieeinFeldvon solchenbestellzeilenundberechnensiediegesamtsummeallerbestellzeilen.