MSDN Webcast:MSDN Webcast:
VB.NET für Einsteiger und Umsteiger, VB.NET für Einsteiger und Umsteiger, Teil 2Teil 2Datentypen, Variablen, Namensräume, Datentypen, Variablen, Namensräume, Ausdrücke und Operatoren Ausdrücke und Operatoren (Level 100)(Level 100)Presenter: Daniel WalzenbachPresenter: Daniel Walzenbach
TechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland [email protected]@microsoft.comhttp://blogs.msdn.com/walzenbachhttp://blogs.msdn.com/walzenbach
VerlosungVerlosung
Programmieren lernen mit Programmieren lernen mit Visual Basic 2005Visual Basic 2005
10 Bücher werden unter allen Teil-10 Bücher werden unter allen Teil-nehmern verlost, die an mindes-nehmern verlost, die an mindes-tens sieben Webcasts teilnehmentens sieben Webcasts teilnehmen
Visual Studio 2005 Visual Studio 2005 ExpressExpressKleine Geschwister des Visual Studio Kleine Geschwister des Visual Studio 20052005
KostenlosKostenlos
http://www.microsoft.com/germany/mhttp://www.microsoft.com/germany/msdn/vstudio/products/express/vb/defasdn/vstudio/products/express/vb/default.mspxult.mspx
Visual Basic 2005 Express EditionVisual Basic 2005 Express Edition
Visual C# 2005 Express EditionVisual C# 2005 Express Edition
Visual C++ 2005 Express EditionVisual C++ 2005 Express Edition
Visual Web Developer 2005 Express Visual Web Developer 2005 Express EditionEdition
SQL Server 2005 Express EditionSQL Server 2005 Express Edition
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
Übungsaufgabe, Teil 1Übungsaufgabe, Teil 1
Schreiben Sie ein Programm, das mit Schreiben Sie ein Programm, das mit den Zeichen den Zeichen + I+ I und und –– ein kleines ein kleines Fenster ausgibtFenster ausgibt
Verwenden Sie Verwenden Sie Console.WriteLine()Console.WriteLine() und/oder und/oder Console.Write()Console.Write()
+--------------------++--------------------+I II II VB.NET ist cool! II VB.NET ist cool! II II I+--------------------++--------------------+
Übungsaufgabe, LösungÜbungsaufgabe, Lösung
Mehrfach den Befehl Mehrfach den Befehl System.Console.WriteLineSystem.Console.WriteLine verwendenverwendenModule Module1 Sub Main() ' VB.NET ist cool! in einer Box auf der Console ausgeben System.Console.WriteLine("+--------------------+") System.Console.WriteLine("+ +") System.Console.Write("+ ") System.Console.Write("VB.NET ist cool!") System.Console.WriteLine(" +") System.Console.WriteLine("+ +") System.Console.WriteLine("+--------------------+") End Sub End Module
Demonstration #1Demonstration #1
demodemo
VB.NET ist cool!VB.NET ist cool!
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
Namensräume & Namensräume & ReferenzenReferenzenWas sind Namensräume und warum werden sie Was sind Namensräume und warum werden sie gebraucht?gebraucht?
Namensräume gruppieren thematisch Namensräume gruppieren thematisch zusammenhängende Klassen --> geben logische zusammenhängende Klassen --> geben logische Struktur vorStruktur vor
In einem Namensraum müssen Namen EINDEUTIG In einem Namensraum müssen Namen EINDEUTIG seinsein
In verschiedenen Namensräumen können Namen In verschiedenen Namensräumen können Namen mehrmals vorkommenmehrmals vorkommen
Soll auf eine Klasse außerhalb des aktuellen Soll auf eine Klasse außerhalb des aktuellen Namensraums zugegriffen werden, so muss dieser Namensraums zugegriffen werden, so muss dieser angeben werdenangeben werden
Namensräume können beliebig angelegt werdenNamensräume können beliebig angelegt werden
Namensräume werden mit Namensräume werden mit ImportsImports angegeben angegeben
Demonstration #2Demonstration #2
demodemo
Das Das ImportsImports Statement Statement
Namensräume & Namensräume & ReferenzenReferenzenUm .NET Komponenten (Assemblies) zu Um .NET Komponenten (Assemblies) zu verwenden muss auf diese in dem Projekt verwenden muss auf diese in dem Projekt verwiesen werdenverwiesen werden
Danach können diese Komponenten verwendet Danach können diese Komponenten verwendet werdenwerden
Namensraum Namensraum SystemSystem soll verwendet soll verwendet werdenwerden
Alles eintippen:Alles eintippen:System.Console.WriteLine()System.Console.WriteLine()
Vereinfachung:Vereinfachung:Zuerst: Zuerst: Imports SystemImports System
Dann reicht Dann reicht Console.WriteLine()Console.WriteLine()
Namensräume und Assemblies müssen Namensräume und Assemblies müssen NICHT übereinstimmen!!!NICHT übereinstimmen!!!
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
DatentypenDatentypen
Eingaben müssen gespeichert werden Eingaben müssen gespeichert werden könnenkönnen
Eingaben werden in „Variablen“ Eingaben werden in „Variablen“ gespeichertgespeichert
Variablen sind von einem bestimmten TypVariablen sind von einem bestimmten Typ
Mit VB.NET kann man Wertetypen und Mit VB.NET kann man Wertetypen und Referenztypen verwendenReferenztypen verwenden
Wertetypen sind einfache, fertige Wertetypen sind einfache, fertige DatentypenDatentypen
Liegen auf dem StackLiegen auf dem Stack
Referenztypen sind eher komplexe Referenztypen sind eher komplexe TypenTypen
Liegen im HeapLiegen im Heap
Können wir selber programmierenKönnen wir selber programmieren
Der StackDer Stack
Was ist ein StackWas ist ein Stack
Jedes Programm, das gestartet wird, Jedes Programm, das gestartet wird, erhält einen Stack mit einer erhält einen Stack mit einer bestimmten Größebestimmten Größe
In dem Stack können Daten abgelegt In dem Stack können Daten abgelegt werdenwerden
Zahlen, Zwischenergebnisse, Texte, …Zahlen, Zwischenergebnisse, Texte, …
Der StackDer Stack
Was ist ein StackWas ist ein Stack
100
3.14
123.14324
6.0
90
Stackanfang
Stackende
Stackzeiger (Stack Pointer)
Hier wird der nächste Wert eingetragen, danach wird der Stackzeiger erhöht
WertetypenWertetypen
„„Einfache“ Typen (Wertetypen) Einfache“ Typen (Wertetypen) werden auf dem Stack angelegtwerden auf dem Stack angelegt
SByte, Byte, Short, UShort, Integer, SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong, …UInteger, Long, ULong, …
Sehr schnelle VerarbeitungSehr schnelle Verarbeitung
Brauchen wenig Platz im SpeicherBrauchen wenig Platz im Speicher
Nachteil: Der Stack hat leider nur eine Nachteil: Der Stack hat leider nur eine begrenzte Größebegrenzte Größe
ReferenztypenReferenztypen
Referenztypen werden auf dem Heap Referenztypen werden auf dem Heap gespeichertgespeichert
Sind unter der Kontrolle des Garbage Sind unter der Kontrolle des Garbage CollectorsCollectors
Das Erzeugen solcher Typen ist Das Erzeugen solcher Typen ist aufwändiger und auch langsameraufwändiger und auch langsamer
Vorteil: Im Heap ist sehr viel PlatzVorteil: Im Heap ist sehr viel Platz
WertebereicheWertebereiche
SByteSByte: –128 bis 127 (1 Byte): –128 bis 127 (1 Byte)
ByteByte: 0 bis 255 (1 Byte): 0 bis 255 (1 Byte)
ShortShort: –32.768 bis 32767 (2 Byte): –32.768 bis 32767 (2 Byte)
UShortUShort: 0 bis 65.535 (2 Byte): 0 bis 65.535 (2 Byte)
IntegerInteger: –2.147.483.648 bis 2.147.483.647 (4 : –2.147.483.648 bis 2.147.483.647 (4 Byte)Byte)
UIntegerUInteger: 0 bis 4.294.967.295 (4 Byte): 0 bis 4.294.967.295 (4 Byte)
LongLong: –9.223.372.036.854.775.808 bis: –9.223.372.036.854.775.808 bis
9.223.372.036.854.775.807 (8 Byte)9.223.372.036.854.775.807 (8 Byte)
ULongULong: 0 bis 18.446.744.073.709.551.615 (8 : 0 bis 18.446.744.073.709.551.615 (8 Byte)Byte)
CharChar: 0 bis 65.535 (2 Byte): 0 bis 65.535 (2 Byte)
WertebereicheWertebereiche
SingleSingle: 7 Stellen 1.5 x 10: 7 Stellen 1.5 x 10-45-45 bis 3.4 x 10 bis 3.4 x 103838 (4 Byte)(4 Byte)
DoubleDouble: 15-16 Stellen 5.0 x 10: 15-16 Stellen 5.0 x 10-324-324 bis 1.7 x bis 1.7 x 1010308 308 (8 Byte)(8 Byte)
DecimalDecimal: 28-29 Dezimalstellen 1.0 x 10: 28-29 Dezimalstellen 1.0 x 10-28-28 bis 7.9 x 10bis 7.9 x 1028 28 (16 Byte)(16 Byte)
VariablenVariablen
Es gibt verschiedene Arten von Es gibt verschiedene Arten von VariablenVariablen
Uns interessieren zunächst einmal Uns interessieren zunächst einmal die…die…
… … lokalen Variablenlokalen Variablen
Sub Main() ' Main ist eine Methode ' Lokale Variablen befinden sich in einer Funktion ' Lokale Variablen anlegen Dim i As Integer Dim Wert As Double ' Lokale Variable anlagen und ' sofort einen Wert zuweisen Dim j As Integer = 5 Dim Ergebnis As Double = 1.75 End Sub
Deklaration
Initialisierung
Demonstration #3Demonstration #3
demodemo
Variablen deklarieren und initialisierenVariablen deklarieren und initialisieren
VariablenVariablen
Variablen müssen deklariert werdenVariablen müssen deklariert werden
Variablen müssen einen Namen Variablen müssen einen Namen habenhaben
Wertetypen werden mit dem Wertetypen werden mit dem Defaultwert initialisiertDefaultwert initialisiert
Referenztypen müssen initialisiert Referenztypen müssen initialisiert werdenwerden
Allgemein:Allgemein:Dim Name as TypDim Name as Typ
Dim Name as Typ = wertDim Name as Typ = wert
Typ ist: Integer, Double, Short, …Typ ist: Integer, Double, Short, …
VariablenVariablen
Namen von VariablenNamen von Variablen
Müssen mit Unterstrich oder Müssen mit Unterstrich oder Buchstaben beginnenBuchstaben beginnen
Dürfen Buchstaben, Ziffern und den Dürfen Buchstaben, Ziffern und den Unterstrich beinhaltenUnterstrich beinhalten
Leerzeichen sind nicht erlaubtLeerzeichen sind nicht erlaubt
Dürfen keine reservierten Wörter Dürfen keine reservierten Wörter verwendenverwenden
Zwischen Groß- und Kleinschreibung Zwischen Groß- und Kleinschreibung wird nicht unterschiedenwird nicht unterschieden
VariablenVariablen
Lokale Variablen haben einen Lokale Variablen haben einen Gültigkeitsbereich (engl. Scope)Gültigkeitsbereich (engl. Scope)
Sie gelten nur innerhalb des Blocks in Sie gelten nur innerhalb des Blocks in dem sie deklariert wurdendem sie deklariert wurden
Sie dürfen nicht mehrfach in einem Block Sie dürfen nicht mehrfach in einem Block vorkommenvorkommen
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
OperatorenOperatoren
Einfache OperatorenEinfache Operatoren+ - * / Mod+ - * / Mod
==
+= -= *= /= += -= *= /=
Operatoren braucht man um Operatoren braucht man um mathematische Formeln (Berechnungen) mathematische Formeln (Berechnungen) auszudrückenauszudrücken
Es gilt „Punkt vor Strich“Es gilt „Punkt vor Strich“* / Mod vor + -* / Mod vor + -
Klammern Klammern ( )( ) können verwendet werden können verwendet werden
Demonstration #4Demonstration #4
demodemo
Rechnen mit VariablenRechnen mit Variablen
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
DateneingabeDateneingabe
Dateneingabe mit Console.ReadLine()Dateneingabe mit Console.ReadLine()
Es wird immer ein String eingelesenEs wird immer ein String eingelesen
Der String muss entsprechend Der String muss entsprechend umgewandelt werden (int, double)umgewandelt werden (int, double)
Convert.ToInt32(…)Convert.ToInt32(…)
Convert.ToDouble(…)Convert.ToDouble(…)
Demonstration #5Demonstration #5
demodemo
Ein kleiner TaschenrechnerEin kleiner Taschenrechner
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
PerformancePerformance
Wie schnell rechnet eigentlich Wie schnell rechnet eigentlich VB.NET?VB.NET?
Test: Wie viele Additionen schafft der Test: Wie viele Additionen schafft der Rechner (Intel Centrino Duo, 2 GHz) in Rechner (Intel Centrino Duo, 2 GHz) in einer Sekunde?einer Sekunde?
25.00025.000
250.000250.000
2.500.0002.500.000
25.000.00025.000.000
250.000.000250.000.000
2.500.000.0002.500.000.000
Demonstration #6Demonstration #6
demodemo
Wie schnell rechnet VB.NET denn jetzt Wie schnell rechnet VB.NET denn jetzt genau?genau?
PerformancePerformance
Mathematische Operationen sind sehr Mathematische Operationen sind sehr schnellschnell
Viele andere Dinge dauern aber Viele andere Dinge dauern aber länger (auch in anderen Sprachen)länger (auch in anderen Sprachen)
Daten aus der Datenbank holenDaten aus der Datenbank holen
Etwas ausdruckenEtwas ausdrucken
Daten auf Festplatte speichernDaten auf Festplatte speichern
Download aus dem Internet…Download aus dem Internet…
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
ÜbungsaufgabeÜbungsaufgabe
Schreiben Sie ein Programm welches Schreiben Sie ein Programm welches den Kreisinhalt (A) berechnet.den Kreisinhalt (A) berechnet.A = πr²A = πr²
Verwenden Sie Verwenden Sie Console.WriteLine()Console.WriteLine() und/oder und/oder Console.Write()Console.Write() und/oder und/oder Console.ReadLine() und Console.ReadLine() und System.Math.PISystem.Math.PI
Bitte geben Sie den Radius des Bitte geben Sie den Radius des Kreises in cm ein: 5Kreises in cm ein: 5
Der Kreisinhalt eines Kreises mit Der Kreisinhalt eines Kreises mit Radius 5cm beträgt ca. 78,5cm².Radius 5cm beträgt ca. 78,5cm².
ÜbungsaufgabeÜbungsaufgabe
Übungsaufgabe bis zum 10.11.2006 Übungsaufgabe bis zum 10.11.2006 an an [email protected]@microsoft.com
Betreff: „VB.NET, Übungsaufgabe Teil Betreff: „VB.NET, Übungsaufgabe Teil 2“2“
Unter allen Teilnehmern mit richtiger Unter allen Teilnehmern mit richtiger Lösung werden zwei Bücher „Von Lösung werden zwei Bücher „Von Microsoft Visual Basic 6.0 nach Visual Microsoft Visual Basic 6.0 nach Visual Basic .NET (Gebundene Ausgabe)“ Basic .NET (Gebundene Ausgabe)“ verlostverlost
AgendaAgenda
Übungsaufgabe Teil 1Übungsaufgabe Teil 1
Namensräume und ReferenzenNamensräume und Referenzen
Datentypen und VariablenDatentypen und Variablen
OperatorenOperatoren
DateneingabeDateneingabe
PerformancePerformance
ÜbungsaufgabeÜbungsaufgabe
ZusammenfassungZusammenfassung
ZusammenfassungZusammenfassung
Namespaces geben logische Struktur vorNamespaces geben logische Struktur vor
Um Klassen aus dem .NET Framework Um Klassen aus dem .NET Framework verwenden zu können muss in dem Projekt verwenden zu können muss in dem Projekt ein Verweis auf die Assembly erstellt ein Verweis auf die Assembly erstellt werdenwerden
Daten werden in Variablen Daten werden in Variablen zwischengespeichertzwischengespeichert
Variablen sind von einem bestimmten Typ Variablen sind von einem bestimmten Typ (Integer, Double, etc.) (Integer, Double, etc.)
Variablen können addiert, subtrahiert, etc. Variablen können addiert, subtrahiert, etc. werdenwerden
Daten können mit Daten können mit Console.ReadLineConsole.ReadLine eingelesen werdeneingelesen werden
Nächste TermineNächste Termine
VB.NET für Einsteiger und Umsteiger, Teil 3VB.NET für Einsteiger und Umsteiger, Teil 3Programmausführung steuernProgrammausführung steuern
Montag, 13.11.2006 16:00-17:00 UhrMontag, 13.11.2006 16:00-17:00 Uhr
VB.NET für Einsteiger und Umsteiger, Teil 4VB.NET für Einsteiger und Umsteiger, Teil 4Klassen und StrukturenKlassen und Strukturen
Montag, 20.11.2006 16:00-17:00 UhrMontag, 20.11.2006 16:00-17:00 Uhr
VB.NET für Einsteiger und Umsteiger, Teil 5VB.NET für Einsteiger und Umsteiger, Teil 5Noch mehr Klassen und StrukturenNoch mehr Klassen und Strukturen
Montag, 27.11.2006 16:00-17:00 UhrMontag, 27.11.2006 16:00-17:00 Uhr
Referenzen & DownloadsReferenzen & Downloads
Visual Studio 2005 Express EditionsVisual Studio 2005 Express Editionshttp://www.microsoft.com/germany/msdn/http://www.microsoft.com/germany/msdn/vstudio/products/express/default.mspxvstudio/products/express/default.mspx
Microsoft Visual Basic 2005 - Das Microsoft Visual Basic 2005 - Das EntwicklerbuchEntwicklerbuch
http://www.edv-buchversand.de/mspress/http://www.edv-buchversand.de/mspress/product.asp?cnt=product&id=ms-537&lng=0product.asp?cnt=product&id=ms-537&lng=0
Datentyp: Zusammenfassung (Visual Datentyp: Zusammenfassung (Visual Basic) Basic)
http://msdn2.microsoft.com/de-de/library/http://msdn2.microsoft.com/de-de/library/47zceaw7(VS.80).aspx 47zceaw7(VS.80).aspx
MSDN SolveMSDN Solvehttp://msdn-solve.de/http://msdn-solve.de/
VerlosungVerlosung
Programmieren lernen mit Programmieren lernen mit Visual Basic 2005Visual Basic 2005
10 Bücher werden unter allen Teil-10 Bücher werden unter allen Teil-nehmern verlost, die an mindes-nehmern verlost, die an mindes-tens sieben Webcasts teilnehmentens sieben Webcasts teilnehmen
Questions and AnswersQuestions and Answers
Daniel [email protected] http://blogs.msdn.com/walzenbach