Welche Klammern in der IT sind was?

3 Antworten

ZaoDaDong hat ja schon eine gute Antwort dazu gegeben. Die Beispiele beziehen sich hauptsächlich auf Programmiersprachen, wobei die Klammern selbst innerhalb einer einzelnen Programmiersprache mehrere Funktionen erfüllen können.

Beispiele zu < >

  • Als Vergleichsoperatoren:

Wenn a kleiner als b ist, dann tue dies und das

if (a < b)

Da gibt es dann auch verschiedene Variationen, wie z.B.

  • > größer als
  • >= größer oder gleich
  • < kleiner als
  • <= kleiner oder gleich
  • Z.B. in Excel und VBA gibt es auch <> für ungleich

In PowerShell oder Batch benutzt man stattdessen aber Kürzel, wie z.B. -lt für "kleiner als", -gt für "größer als" etc.

  • Als Teil eines "Arrow-Operators"

In einigen Sprachen gibt es einen Arrow-Operator ( -> oder => ), mit dem man kurze Funktionen definieren kann, die man z.B. direkt als Argument für andere Funktionen angeben kann.

z.B. Sortiere die Personen-Liste nach Nachnamen (in Java):

persons.sort(Comparator.comparing(person -> person.getLastName()));

In anderen Sprachen kann der Arrow-Operator aber eine andere Bedeutung haben. Z.B. in PHP benutzt man den dünnen Pfeil (->), um die Objektattribute oder -methoden aufzurufen und den dicken Pfeil (=>), um Key-Value Paare in Arrays zu speichern

  • Als Typdefinition

Bei vielen Programmiersprachen gibt es sogenannte generische Klassen, bzw. generische Objekte. Das sind Objekte, die in irgendeiner Weise mit unterschiedlichen Objekten zusammenarbeiten können. Z.B. Listen, in denen verschiedene Arten von Objekten gespeichert werden können. Damit man in eine Liste keine Objekte vom falschen Typ einfügen kann, kann man den Objekttyp bei der Deklaration in spitze Klammern schreiben.

Z.B. Lege eine Liste für Objekte vom Typ Person an (in Java)

List<Person> persons = new ArrayList<Person>();
  • Als HTML-Tag

In HTML und XML werden die spitzen Klammern als Anfang und Ende eines Tags verwendet. Z.B. so:

<div class="messagebox">Hallo, Welt!</div>

Beispiele zu ( )

  • Als mathematische Blöcke

Wie in der Schule gelernt, kann man die runden Klammern oft benutzen, um zu bestimmen, welche Zahlen zuerst zusammengerechnet werden sollen.

Beispiel:

(5 * 6) + (1 / 2) = 30 + 0,5 = 30,5
5 * (6 + 1) / 2 = 5 * 7 / 2 = 17,5

  • Um Argumente an Funktionen zu übergeben

In den meisten Programmiersprachen schreibt man den Funktionsnamen und dann in Klammern die Argumente, die der Funktion übergeben werden.

z.B. schreibe "Hallo, Welt!" (in Python)

print("Hallo, Welt!")

In den meisten Programmiersprachen müssen die Klammern auch geschrieben werden, wenn die Funktion keine Argumente annimmt

z.B. sortiere die Liste namens "numbers":

numbers.sort();
  • Um eine explizite Konvertierung zu machen

Wenn Variablentypen nur verlustbehaftet ineinander konvertiert werden können, muss man bei den C-ähnlichen Programmiersprachen eine explizite Konvertierung machen. Z.B. wenn man von einer Fließkommazahl zu einer Ganzzahl konvertiert:

double floatingNumber = 2.1;
int intNumber = (int) floatingNumber;

Das gleiche gilt auch, wenn der Compiler nicht sicherstellen kann, dass ein Objekt den geforderten Typ hat.

  • Für Tupel

Einige Programmiersprachen erlauben sogenannte Tupel. Das sind einfach mehrere Werte, die zusammen einer Variable zugewiesen werden können, oder z.B. zusammen als Rückgabewert benutzt werden können

bgColor = (34, 34, 35)

Beispiele zu [ ]

  • Als Array-Index

Z.B. lege ein Integer-Array mit 10 Elementen an und speichere eine 100 an Position 3 (Achtung, in den meisten Sprachen sind Arrays 0-indiziert. Position 3 ist also das vierte Feld)

int[] meinArray = new int[10];
meinArray[3] = 100;

In VBA und manchen anderen Basic-Dialekten benutzt man für den gleichen Zweck aber runde Klammern

  • Als Liste

In Javascript und Python (und sicher noch in anderen Sprachen) kann man mit den eckigen Klammern Listen initialisieren.

meineTestZahlen = [0, 8, 15, 47, 11]
  • Als List-Comprehension

In Python kannst du in eckigen Klammern auch Funktionen benutzen, die die Listenelemente ändern oder filtern:

meineZahlen = [x/2 for x in meineTestZahlen if x%2==0]
  • Für Namen mit Sonderzeichen

In MS SQL Server oder z.B. Excel kann man die eckigen Klammern für Namen mit Sonderzeichen benutzen (z.B. Tabellennamen mit Bindestrichen oder Spaltennamen mit Leerzeichen oder Pfadangaben zu anderen Excel-Dateien)

SELECT [Kunde Nachname] FROM [Neue-Kunden]

Beispiele zu { }

  • Als Code-Block

Gerade in den C-ähnlichen Sprachen werden mit den geschweiften Klammern oft Code-Blöcke angefangen und beendet, damit der Compiler weiß, was z.B. alles zu einer Funktion oder zu einen if-Block oder einer Schleife gehört

public void Main() 
{
    Console.WriteLine("Hallo, Welt!");
}
  • Zur Initialisierung von Arrays

Ähnlich wie bei den eckigen Klammern bei JavaScript und Python kann man mit den geschweiften Klammern bei Java oder C# Arrays initialisieren.

int[] meineTestZahlen = {0, 8, 15, 47, 11};

In Python kann man auf die Weise Sets erzeugen (also Listen, in denen jeder Wert nur einmal vorkommen darf) oder für Dictionaries, also Listen mit Key-Value Paaren

tel = {
  'jack': 4098, 
  'sape': 4139, 
  'guido': 4127
}
  • Für Matrizen in Excel

Wenn man in Excel einer Funktion mehrere Werte übergeben will, kann man das mit geschweiften Klammern machen

={1.2.3;4.5.6;7.8.9}

Es gibt auch die CSE-Funktionen, die früher bei Matrixberechnungen nötig waren. Dafür drückt man Strg+Shift+Enter und dann werden um die Funktion herum geschweifte Klammern gemacht, damit man sieht, dass es eine Matrix-Funktion ist. Das ist bei den neueren Excel-Versionen aber fast nie nötig, weil die automatisch Matrix-Funktionen erkennen und Ergebnisse in mehreren Zellen ausgeben können

Weitere Anmerkungen

Für jede Klammersorte gibt es bestimmt noch jede Menge andere Anwendungen. Es gibt sogar esoterische Programmiersprachen, die komplett nur mit diesen Klammern funktionieren (siehe Brain-Flak). Wenn du also für eine spezifische Sprache was wissen willst, müsstest du nochmal fragen.

SintrexHD 
Fragesteller
 16.11.2023, 22:24

Danke danke :)

1

Alle diese Klammern kommen in C++ vor, die meisten davon auch in C und Java.

C++ im Detail findest Du hier: https://en.cppreference.com/w/cpp

<> : klammert TemplateParameter und includes

#include <stdio.h> // inkludiert die Datei "stdio.h" aus den Bibliotheken des Compilers

std::vector<int> vec; // vec wird deklariert als ein dynamisches Array von int´s, nicht in C

() : wird für FunktionsParameterlisten verwendet

void test(int i){ ... any code ...} // definition

test(13); // Aufruf

[] : klammert Indices bei Arrays

{} : klammert Unterabschnitte im Code. Häufig (aber nicht immer) kann man auch einfach ein einzelnes (ungeklammertes) Statement verwenden.

...

if(a<b) {

// tue dies

} else {

// tue jenes

}

Woher ich das weiß:Berufserfahrung

Da gibt es keine einheitliche Definition. Unter bestimmten Betriebssystemen oder in unterschiedlichen Programmiersprachen erfüllen sie unterschiedliche Funktionen.

Häufiger werden <> als Vergleichsoperatoren benutzt, [] um die Größe von Arrays zu definieren oder um einen Eintrag im Array zu adressieren, {} um Funktions- oder Methodenkörper zu umschließen und () um beim Funktionsaufruf Übergabeparameter zu umschließen oder bei Abfragen Bedingungen zu verknüpfen.

naaman  15.11.2023, 09:19

{}

//

*/

/*

werden auch für Kommentare verwendet

0