String

Rainer Sturm / pixelio.de

Ein String stellt eine beliebige Zeichenfolge, mit einer bestimmten Enkodierung, in C# ist es UTF 16,  dar. UTF 16 (Unicode Transformation Format) unterstützt sehr viele aber nicht alle Zeichen, hier findest du eine Auflistung aller unterstützten Zeichen.  Zurück zum String, man nutzt diesen Datentyp  um Zeichenketten oder Text in einer Variable abzulegen. Dies kann zum Beispiel der Fall sein, wenn ein Benutzer Eingaben auf einem Formular zu Registrierung auf einer Webseite gemacht hat. Dann werden diese Daten meist validiert, also auf ihre Gültigkeit geprüft, mit den Daten in der Datenbank abgeglichen und bei Erfolg in der Datenbank gespeichert. In Variablen vom Typ String werden also Zeichen abgelegt die sich mit den anderen Datentypen schlecht oder gar nicht realisieren lassen. Beispielsweise könnten Kundennummern auch Buchstaben enthalten, dadurch wären diese nicht für einen numerischen Datentypen, wie integer oder double geeignet. In C# und Java bieten die Frameworks eine Vielzahl von mächtigen Funktionen in der String Klasse an. Ein paar von mir häufig genutzte Beispiele:

  • „Replace“ zum Ersetzen von Zeichen, wenn ungewünschte oder verbotene Zeichen oder Zeichenfolgen vorhanden sind.
  • Substring“ ruft einen Teil des Strings, an einer bestimmten Stelle, für eine feste Länge, auf
  • Trim“ schneidet am Ende und Anfang leere Zeichen (spaces) oder ggf. auch andere Zeichen wie führende oder anhängende 0en ab
  • Split“ unterteilt die Zeichenkette in weitere Zeichenketten zum Beispiel anhand eines Trennzeichens. Dies könnte bei CSV Dateien zum Einsatz kommen
  • Join“ ist das Gegenstück zu Split es verkettet mehrere Strings zu einem und fügt ggf. Trennzeichen ein
  • Length“ ist eine Eigenschaft und gibt die Anzahl der Zeichen dieser Zeichenkette zurück
  • Contains“ überprüft ob eine Zeichenfolge in dem String vorhanden ist
  • Equals“ überprüft ob die Zeichenfolge den gleichen Wert wie eine andere Zeichenfolge hat

Es gibt noch viel mehr Funktionen die die String Klasse mit sich bringt, die man für C# in der Microsoft, bzw. für Java in der Oracle Dokumentation alle nachschlagen kann.

Oft werden auch zwei Strings aneinander gehangen, wie im folgenden C# Beispiel:

 string vorname;
 string nachname;
 
 Console.WriteLine("\t\t\tNamenseingabe lerne-programmieren.com\n");
 Console.Write("Bitte geben Sie ihren Vornamen ein:\t");
 vorname = Console.ReadLine();
 
 Console.Write("\nBitte geben Sie Ihren Nachname ein:\t");
 nachname = Console.ReadLine();
 
 Console.WriteLine("\nSie heißen:\t\t\t\t" + vorname + " " + nachname);
 Console.ReadKey();

Der Benutzer wird gebeten, erst seinen Vornamen, danach seinen Nachnamen einzugeben. Anschließend wird sein Name auf der Konsole ausgegeben. Dazu wurde der String „Sie heißen:“ mit der Variable strVorname, einem Leerzeichen und der Variable strNachname konkateniert, also verknüpft.

Das Ergebnis sieht folgendermaßen aus:

Empfohlene weiterführende Literatur:

Grundkurs C: C-Programmierung verständlich erklärt

C# 6 mit Visual Studio 2015: Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken

Programmieren lernen mit Java

 

For Schleife

Rainer Sturm / pixelio.de

For Schleifen sind eine der grundlegenden Kontrollstrukturen, die in so gut wie jeder Programmiersprache genutzt werden. In diesem Tutorial möchte ich euch zeigen wofür man eine For Schleife verwendet, wie sie aufgebaut ist, wie sie funktioniert, und natürlich auch entsprechenden Beispielcode mit euch teilen.

Schleifen werden zum Beispiel dafür genutzt um einen bestimmten Vorgang zu wiederholen. Das könnte der Fall sein, wenn man eine Sammlung von Daten, Datensatz für Datensatz, überprüft. Es könnte auch genutzt werden um zum Beispiel Daten in einer Listenansicht, Eintrag für Eintrag hinzuzufügen, die dem Benutzer dann angezeigt werden können. Forschleifen werden vor allem dann genutzt, wenn der Zähler der Schleife benötigt wird, zum Beispiel um auf ein Listenelement mit genau diesem Index zuzugreifen.

Aufbau C# & Java:

 for (int i = 0; i < anzahlDurchläufe; i++)
 {

 }

Die Syntax für eine Forschleife ist in den meisten Sprachen (z.B. Java, C#, JavaScript) sehr ähnlich:

  1. Es beginnt mit dem reservierten Wort „for“
  2. danach folgt eine Klammer,
  3. die Deklarierung (also Benennung der Laufvariable) und
  4. Initialisierung (Zuweisung) einer Variable, in dem Fall „i“, gefolgt von einem Semikolon.
  5. Dann kommt die Abbruchbedingung, bzw. um es genauer zu formulieren, ist es eigentlich die Weiterlaufbedingung. Solange diese Bedingung erfüllt ist wird die Schleife immer wieder neu durchlaufen, bis die Bedingung nicht mehr erfüllt ist.
  6. Zuletzt wird die Operation angegeben die bei jedem Durchlauf der Schleife einmal ausgeführt wird. In diesem Fall wird die Laufvariable i immer um 1 inkrementiert, also hochgezählt.

Alternativer Aufbau in VB:

 For i As Integer = 0 To anzahlDurchläufe
 
 
 Next

Jetzt zu dem praktischen Teil. Das folgende Beispiel gibt alle ganzen Zahlen von 1 bis inklusive 9 auf der Konsole aus:

C#:

 for (int i = 1; i < 10; i ++)
      Console.WriteLine(i);

Java:

for (int i = 1; i < 10; i ++)
     System.out.println(i)

Das Ganze ist auch umgekehrt ganz einfach möglich. Dieses Beispiel gibt alle ganzen Zahlen von 10 bis inklusive 2 aus.

C#:

for (int i = 10; i > 1; i--)
     Console.WriteLine(i);

Java:

 for (int i = 10; i > 1; i--)
      System.out.println(i)

Jetzt versuch doch mal mit mehreren, auch ineinander geschachtelten, For Schleifen in einem Konsolenprogramm das Haus von Nikolaus zu zeichnen. Oder eine Pyramide die auf dem Kopf steht. Falls du keine Idee hast wie das zu realisieren ist, hier ein Beispiel von mir für eine normale Pyramide, inklusive der Benutzereingabe, wie hoch die Pyramide sein soll. Wenn du noch Fragen hast, stelle diese bitte in den Kommentaren:

using System;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("\t\t\t\tPyramide\n\n");
            Console.Write("Bitte geben Sie die Höhe ein:\t\t\t");
            int hoehe = Convert.ToInt32(Console.ReadLine());

            for (int i = 1; i <= hoehe; i++)
            {
                for (int j = 0; j < hoehe - i; j++)
                {
                    Console.Write(" ");
                }

                for (int k = 0; k < i * 2 - 1; k++)
                {
                    Console.Write("x");
                }
                Console.WriteLine();


            }
            Console.ReadLine();
        }
    }
}

 

Empfohlene weiterführende Literatur:

Grundkurs C: C-Programmierung verständlich erklärt

C# 6 mit Visual Studio 2015: Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken

Programmieren lernen mit Java

Datenbanken

Rainer Sturm / pixelio.de

Jede Anwendung braucht irgendwelche Daten. Eine Wetterapp braucht die aktuellen Wetterdaten passend zu den Orten, eine Telefonbuchapp muss die Telefonnummern und Namen speichern, oder auch Webshops und so gut wie alle Webapplikationen greifen auf gespeicherte Daten zurück. Oft kommen dafür Datenbanken zum Einsatz. Sie verwalten die Daten und ermöglichen einen schnellen Zugriff auf selbige. Es gibt verschiedene Arten von Datenbanken zum Beispiel relationale, hierarchische, dokumentenorientiert und weitere. Oftmals wird für klassische Anwendungen im business, so wie im privaten Bereich, auf das relationale System gesetzt.

Die Daten einer Datenbank werden von einem Datenbankmanagementsystem (DBMS) verwaltet. Die Datenbanken, es können auch mehrere sein, zusammen mit dem DBMS werden als Datenbanksystem (DBS) bezeichnet. Möchte nun eine Anwendung auf den Inhalt der Datenbank zugreifen, so geschieht dies immer über das DBMS. Die folgende Abbildung veranschaulicht dieses System:

Um den Zugriff auf die Daten zu ermöglichen wird meist eine Datenbankabfragesprache, zum Beispiel die structured query language (SQL) genutzt. Bekannte DBMS sind zum Beispiel MSSQL, MySQL, Oracle, Sybase usw. Diese DBMS nutzen alle SQL, aber mit einer leicht unterschiedlichen Syntax dem sogenannten SQL Dialekt. Wenn man eine eigene relationale Datenbank erstellen möchte, sollte man sich mit dem Thema Normalisierung auseinandersetzen. Man erstellt dafür Tabellen die keine Redundanzen enthalten, das heißt das die Daten so gut es geht zusammengefasst werden sollen, um das unnötige Sammeln von Daten zu vermeiden und die Performance zu verbessern.

Wenn du mehr über Datenbanken wissen willst empfehle ich dir folgendes Fachbuch: Datenbanken: Grundlagen und Design

Syntax

Rainer Sturm / pixelio.de

Jede Programmiersprache hat eine eigene formale Syntax. Diese kann sich zwischen den Programmiersprachen erheblich unterscheiden. Es handelt sich hierbei um ein System von Regeln das definiert wie zum Beispiel Ausdrücke, Anweisungen, Bedingungen usw. syntaktisch korrekt realisiert werden. In diesem System sind auch alle zulässigen Wörter für die entsprechende Sprache festgelegt.

Zum Beispiel in der Programmiersprache C# beginnt in der Regel jedes Programm mit einem „using“, dieses Wort ist so in der C# Syntax definiert. Dahinter folgt der Name eines Namensraums (namespace) der in diesem Programm genutzt werden darf.

Der Begriff „class“ nutzt die C# Syntax zum deklarieren einer neuen Klasse. Einzeilige Kommentare beginnen in C# immer mit „//“ daran erkennt der Kompiler dass die Zeichen in dieser Zeile nicht verarbeitet werden sollen. In XML und HTML beginnen Kommentare mit <!– und enden mit –> das gibt die Syntax so vor.

Es gibt in jeder Programmiersprache sogenannte reservierte Keywords, also zum Beispiel das oben genutzte „using“ Keyword fällt darunter. Diese keywords darf man nicht für die Benennung von eigenen Variablen und Objekten nutzen, da sie durch die Syntax der entsprechenden Programmiersprache vorbelegt sind.

Hier ein Überblick über die Keywords in C#:

abstract as base bool
break byte case catch
char checked class const
continue decimal default delegate
do double else enum
event explicit extern false
finally fixed float for
foreach goto if implicit
in in (generic modifier) int interface
internal is lock long
namespace new null object
operator out out (generic modifier) override
params private protected public
readonly ref return sbyte
sealed short sizeof stackalloc
static string struct switch
this throw true try
typeof uint ulong unchecked
unsafe ushort using using static
void volatile while

Quelle: Microsoft Dokumentation

 

Reservierte Keywords in Java
abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

Quelle: Java ist auch eine Insel von Christian Ullenboom
Das umfassende Handbuch Kapitel 2.1.5

Ich würde empfehlen sich erst einmal auf eine Programmiersprache zu konzentrieren, bevor man die Syntax von mehreren Programmiersprachen erlernt. Mit der Zeit gewöhnt man sich an die Syntax einer Programmiersprache und braucht nicht ständig in der Dokumentation nachzuschauen wie der eine oder andere Befehl lautet, wie eine Schleife umgesetzt wird, oder die Vergleichsoperatoren definiert wurden.

Empfohlene weiterführende Literatur:

Grundkurs C: C-Programmierung verständlich erklärt

C# 6 mit Visual Studio 2015: Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken

Programmieren lernen mit Java

Datentypen

 

Markus Vogelbacher / pixelio.de

Was sind Datentypen?

Die Definition von Datentypen „Der Datentyp beschreibt den Wertebereich von Variablen […] Es gibt numerische Datentypen und boolesche, alphanumerische, abstrakte elementare und benutzerdefinierte“ klingt für einen Anfänger wahrscheinlich ziemlich unverständlich.

Einfacher:

Datentypen bestimmen welche Art von Daten ich in einer Variablen  speichern darf.

Ein sehr häufig genutzter Datentyp ist integer, meist als int abgekürzt. Der unten stehenden Tabelle der in C# integrierten Datentypen, kann man entnehmen, dass der Datentyp int Werte zwischen – 2,147 und 2,147 Milliarden zulässt. Außerdem können nur ganze Zahlen und keine Kommawerte in diesem Datentyp abgelegt werden.

Weitere oft genutzte Datentypen sind bool wenn es eine entweder/oder Entscheidung gibt, double/float für Kommawerte, char für ein einzelnes Zeichen oder string für eine Zeichenkette, also eine beliebige Folge von Zeichen.

Datentyp Wertebereich
byte 0 .. 255
sbyte -128 .. 127
short -32,768 .. 32,767
ushort 0 .. 65,535
int -2,147,483,648 .. 2,147,483,647
uint 0 .. 4,294,967,295
long -9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807
ulong 0 .. 18,446,744,073,709,551,615
float -3.402823e38 .. 3.402823e38
double -1.79769313486232e308 .. 1.79769313486232e308
decimal -79228162514264337593543950335 .. 79228162514264337593543950335
char Ein Unicode-Zeichen.
string Eine Unicode-Zeichenfolge.
bool True oder False.
object Ein Objekt.

Quelle der Tabelle

Übrigens, wenn man das „const“ Schlüsselwort nutzt kann man eine Konstante, statt einer Variablen definieren.

Empfohlene Literatur, für Anfänger geeignet in C# oder in C:

Grundkurs C: C-Programmierung verständlich erklärt

C# 6 mit Visual Studio 2015: Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken

Variablen

Henry Klingberg / pixelio.de

Was ist eine Variable?

Google bezeichnet eine Variable als eine veränderliche Größe, die verschiedene Werte annehmen kann. Du kennst Variablen wahrscheinlich aus dem Matheunterricht, häufig nutzt man dort x,y oder z als Platzhalter für variable Werte.

Bei der Programmierung hat eine Variable meist einen Namen zum Beispiel x. Dieser Variablen wird dann ein Wert zugewiesen zum Beispiel 5. Die Variable hat außerdem eine Speicheradresse im Hauptspeicher, also dem Arbeitsspeicher, des Computers.

Variablen können im Laufe der Zeit ihren Wert ändern. Beispielsweise bei der Programmierung eines virtuellen Taschenrechners gibt man immer wieder neue Zahlen ein die in der gleichen Variable zwischengespeichert werden könnten.

Beispiel:

In dem obigen Beispiel wurden 2 Variablen definiert, also deklariert, und einem Wert zugewiesen, also initialisiert.

In diesem Beispiel wurde der Variable X ein neuer Wert zugewiesen, nämlich der der in der Variablen eingabeTaschenrechner steht.

Weiterführende Literatur, für Anfänger gut geeignet in C# oder in C:

Grundkurs C: C-Programmierung verständlich erklärt

C# 6 mit Visual Studio 2015: Das umfassende Handbuch: Spracheinführung, Objektorientierung, Programmiertechniken