Top Menu

Jump to content
Home
    • Projects
    • Work packages
    • News
    • Getting started
    • Introduction video
      Welcome to OpenProject
      Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu.

    • Help and support
    • Upgrade to Enterprise edition
    • User guides
    • Videos
    • Shortcuts
    • Community forum
    • Professional support

    • Additional resources
    • Data privacy and security policy
    • Digital accessibility (DE)
    • OpenProject website
    • Security alerts / Newsletter
    • OpenProject blog
    • Release notes
    • Report a bug
    • Development roadmap
    • Add and edit translations
    • API documentation
  • Sign in
      Create a new account
      Forgot your password?

Side Menu

  • Overview
  • News
  • Forums
  • Wiki
    • Table of contents
      • Expanded. Click to collapseCollapsed. Click to showWiki
        • Expanded. Click to collapseCollapsed. Click to showBeispielprojekte
          • Hierarchy leafFlappy Box2D
          • Hierarchy leafFlappy Improved
          • Hierarchy leafHighscore Hibernate
          • Hierarchy leafHighscore Webservice + Anbindung mit Retrofit
        • Expanded. Click to collapseCollapsed. Click to showEntwicklung mit Java
          • Hierarchy leaf001) Grundlagen - Entwicklungsumgebung
          • Hierarchy leaf002) Erstes Programm
          • Hierarchy leaf003) Variablen und Datentypen
          • Expanded. Click to collapseCollapsed. Click to show004) Schleifen
            • Hierarchy leaf1) for - Zählschleife
            • Hierarchy leaf2) while
            • Hierarchy leaf3) do while
            • Hierarchy leaf4) for each
          • Hierarchy leaf005) Arrays
          • Hierarchy leaf006) Methoden
          • Expanded. Click to collapseCollapsed. Click to show007) Objektorientierte Programmierung
            • Hierarchy leaf001) Klasse
            • Hierarchy leaf002) Vererbung und Darstellung von Klassen in UML
            • Hierarchy leaf003) Abstrakte Klasse
            • Hierarchy leaf004) Design patterns
          • Expanded. Click to collapseCollapsed. Click to show008) Webservices
            • Hierarchy leaf01) REST - Representational State Transfer
            • Hierarchy leaf02) Minimaler Webservice
            • Hierarchy leaf03) Joke Webservice
            • Hierarchy leaf04) Highscore Service
        • Expanded. Click to collapseCollapsed. Click to showMatura - Vorbereitung
          • Hierarchy leaf01) Projektmanagement
          • Hierarchy leaf02) Objektorientierte Programmierung
          • Hierarchy leaf03) Modellierung und UML
          • Expanded. Click to collapseCollapsed. Click to show04) Design Patterns
            • Hierarchy leaf00) Generelle Konzepte
            • Hierarchy leafFactory(-Method) Pattern
            • Hierarchy leafObserver Pattern
            • Hierarchy leafSingleton Pattern
            • Hierarchy leafStrategy Pattern
          • Hierarchy leaf05) Algorithmen und Datenstrukturen
          • Hierarchy leaf06) Webtechnologien
          • Hierarchy leaf07) Webservices
          • Hierarchy leaf08) Softwarequalitätsmanagement
          • Hierarchy leaf09) Softwareentwicklungsmodelle
        • Expanded. Click to collapseCollapsed. Click to showProjekt Rahmenbedingungen
          • Expanded. Click to collapseCollapsed. Click to showRetrospektive
            • Hierarchy leafRetro - [Name Schüler_in]
        • Hierarchy leafReact Native
        • Expanded. Click to collapseCollapsed. Click to showÜbungen
          • Hierarchy leaf1) Basic
          • Expanded. Click to collapseCollapsed. Click to show2) Basic
            • Hierarchy leaf001) Methode ohne Rückabewert mit Parametern
            • Hierarchy leaf002) Methode mit Parametern und Rückgabewert
            • Hierarchy leaf003) Text umdrehen
            • Hierarchy leaf004) Text umdrehen 2
            • Hierarchy leaf005) Kommandozeile
            • Hierarchy leaf006) Kommandozeile 2
            • Hierarchy leaf007) Vererbung - Geometry
            • Hierarchy leaf008) File from String
            • Hierarchy leaf009) Rekursion - Summe
            • Hierarchy leaf010) Rekursion - File
          • Expanded. Click to collapseCollapsed. Click to showDatenstrukturen
            • Hierarchy leaf011) Binärbaum
            • Hierarchy leaf012) Binärbaum - Generics
            • Hierarchy leaf013) AVL - Tree
            • Hierarchy leaf014) Linked List - Einfach verkettete Liste
            • Hierarchy leaf015) Graph
            • Hierarchy leaf016) Dijkstras shortest path first
          • Expanded. Click to collapseCollapsed. Click to showJava - Kara
            • Hierarchy leafKara lernt schreiben
You are here:
  • Wiki
  • Entwicklung mit Java
  • 004) Schleifen
  • 1) for - Zählschleife

Content

1) for - Zählschleife

  • More
    • Print
    • Table of contents

Erklärung der for Schleife anhand folgendes Beispiels:

for(int i=0; i<10; i++) {
    System.out.println(i);
}
  • Die for Schleife besteht aus den 4 folgenden Bestandteilen die durch einen Strichpunkt (;) getrennt sind
    • Zählvariablendeklaration und intialisierung:
      • for(int i=0; i<10; i++) { System.out.println(i); }
      • Es können auch mehrere Zählvariablen deklariert werden, diese werden durch ein Komma (,) getrennt
      • Der Datentyp der Zählvariable ist frei Wählbar, typischerweise wird jedoch int verwendet
      • Die Deklaration und initialisierung der Zählvariable geschieht nur ein mal
    • Bedingungungsprüfung:
      • for(int i=0; i<10; i++) { System.out.println(i); }
      • Bevor der Code im Schleifenrumpf ausgeführt wird, wird die Bedingung überprüft, ist diese true so wird der Rumpf ausgeführt, ansonsten nicht.
      • Die Bedingungsprüfung benötigt immer einen boolschen Wert, dies kann ein vergleich (>, <, <=, >=) aber auch ein Methodenaufruf oder einfach nur eine boolsche Variable sein
    • Verändern der Zählvariable:
      • for(int i=0; i<10; i++) { System.out.println(i); }
      • Nach dem der Schleifenrumpf ausgeführt wird, kann die Zählvariable verändert werden
      • Üblicherweise ist das ein ++, --, +=,-= das heißt die Zählvariable wird um einen gewissen Wert verändert
      • Natürlich kann hier auch eine andere Wertzuweisung stattfinden
    • Schleifenrumpf:
      • for(int i=0; i<10; i++) { System.out.println(i); }
      • Hier steht der Code der wiederholt ausgeführt werden soll
  • Variablendeklaration, Bedingungungsprüfung, und die Veränderung der Zählvariable sind optional

Bsp 1)

for(;;) {
    System.out.println("Hallo Welt");
}

...ist eine gültige Endlosschleife, ohne Zählvariablen, Bedingungsprüfung oder Variablen veränderung

Bsp 2)

for(int i=0; i<10; i++) {
    System.out.println(i);
}

...Gibt die Zahlen von 0 bis 9 auf der Kommandozeile aus

  1. Deklaration der Zählvariable und Wertzuweisung: int i=0;
  2. Prüfung der Bedingung i<10;
  3. Wenn Bedingung wahr (true), ausführen des Schleifenrumpfs andernfalls weiter zur nächsten Zeile nach dem Schleifenrumpf
    • System.out.println(i)
  4. Verändern der Zählvariable i++;
  5. Zurück zu 2.

...Flussdiagramm oder Programmablaufplan für Bsp 2)

Bsp 3)

for(int i=0, j=10; i<j; i++, j--) {
    System.out.println(i+" - "+j);
}

...Verwendung und ausgabe mehrerer Zählvariablen

Loading...