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
  • 005) Arrays

Content

005) Arrays

  • More
    • Print
    • Table of contents

Was ist ein Array?

  • Ein Array ist eine Ansammlung von Werten des gleichen Datentyps.
  • Das kann zum Beispiel eine reihe von Ganzzahlen sein: 1,45,2,25,1,23,5
  • Arrays haben immer eine fixe Größe, die beim erstellen festgelegt werden muss
    • Das heißt, ein Array bietet sovielen Elementen platz, wie beim erstellen angegeben wurde

Wie deklariert man ein Array

Ein Array deklariert man wie eine ganz normale Variable.

int[] array;

...deklaration eines Arrays dessen Elemente den Datentyp int haben sollen

  • Ein Array dessen Elemente den Datentyp double haben sollen, deklariert man so:
double[] array;

...deklaration eines Arrays dessen Elemente den Datentyp double haben sollen

Z[] array;

...deklaration eines Arrays dessen Element den Datentyp Z (steht für beliebigen nicht primitiven Datentyp) haben sollen

Wie weist man nun dem Array einen Wert zu?

Nach dem wir das Array deklariert haben, müssen wir im nun auch einen Wert (ein erstelltes Array) zuweisen. So wie wir das bei normalen Variablen gemacht haben (int a; a = 10;)

Zuweisung eines leeren int Arrays mit der Größe 10 (Platz für 10 Elemente)

int array;
array = new int[10];

Zuweisung eines bereits befüllten int Arrays mit der Größe 10 (Platz für 10 Elemente)

int[] array;
array = new int[]{1,5,2,5,2,3,1,6,2,56};

Beispiele mit verschiedenen Datentypen (Deklaration und Zuweisung in einem)

int[] arr = new int[]{1,2,3,4};
double[] arr2 = new double[]{1.0,2.0,3.0,4.0};
String[] arr3 = new String[]{"asdf", "asdf2", "asdf3"};

Verändern des Wertes eines Arrays an einer beliebigen Stelle

int[] arr = new int[10];
arr[0] = 20;
arr[1] = 30;
arr[arr.length-1] = 40;
  1. Ein int Array wird deklariert und diesem ein leeres Array der größe 10 zugewiesen
  2. Der Wert an der ersten Stelle des Arrays wird auf 20 gesetzt (der Index bei Arrays fängt bei 0 an)
  3. Der Wert an der zweiten Stelle des Arrays wird auf 30 gesetzt
  4. Der Wert an der letzten Stelle des Arrays wird auf 40 gesetzt
    • arr.length gibt an wie groß das Array ist. In diesem Fall ist es 10. Da das erste Element beim Index 0 startet ist das letzte nicht an Stelle 10, sondern an Stelle 9.

Abfragen des Wertes an einer beliebigen Stelle des Arrays

int[] arr = new int[]{1,2,3,4,5};
System.out.println(arr[0]);
int a = arr[1];
System.out.println(a);
System.out.println(arr[arr.length]);
  1. Ein int Array wird deklariert und diesem ein bereits befülltes Array mit den Werten 1,2,3,4,5 zugewiesen
  2. Der Wert des Arrays an der Stelle 0 wird ausgegeben
  3. Die Variable a wird deklariert und dieser der Wert des Arrays an der Stelle 1 zugewiesen
  4. Die Variable a wird ausgegeben
  5. Der Wert an der letzten Stelle des Arrays wird ausgegeben

Arrays und die for Schleife

  • Ein Array bietet sich an um in einer for Schleife verwendet zu werden.
  • Die Zählvariable startet bei 0
  • Die Bedingung ist solange die Zählvariable kleiner der Länge des Arrays ist
int[] arr = new int[]{1,2,3,4,5,6,21,1,23,1,3};
for(int i=0; i<arr.length;i++) {
    int tmp = arr[i];
    System.out.println(tmp);
}
  1. Ein neues int Array wird deklariert und diesem wir ein befülltes int Array mit den Werten 1,2,3,4,5,6,21,1,23,1,3 zugewiesen
  2. Die for Schleife wird erstellt
  3. Eine int Variable mit dem Namen tmp wird deklariert und dieser der Wert des Arrays an der Stelle i zugewiesen (i ist die Zählvariable, diese nimmt die Werte 0,1,2,3,4,5,6,7,8,9,10 an)
  4. Die Variable tmp wird ausgegeben

Vollständige Beispiele

Bsp 1)

package at.htldornbirn.swp.example;

public class Example {
    public static void main(String[] args) {
    	//Ein int Array wird deklariert und diesem ein leeres Array zugewiesen
        int[] arr = new int[10];
        
        //Der Wert an der Stelle 3 wird auf 10 gesetzt
        arr[3] = 10;
        
        //Ausgabe aller Elemente
        for(int i=0; i<arr.length;i++) {
            System.out.println(arr[i]);
        }
    }
}

Die Ausgabe des Programmes ist: 0 0 0 10 0 0 0 0 0 0 0

Bsp 2)

package at.htldornbirn.swp.example;

public class Example {
    public static void main(String[] args) {
    	//Ein int Array wird deklariert und diesem ein leeres Array zugewiesen
        int[] arr = new int[] {1,2,3,4,5,1,2,3,4,5};
        
        //Aufruf der printArray Methode
        printArray(arr);
        
        
        
        //Der Variable arr wird ein neues Array zugewiesen
        arr = new int[] {2,623,1,6,24,6};
        
        //Erneuter Aufruf der printArray Methode
        printArray(arr);
    }
    
    //Erstellen einer Methode, die alle Elemente eines int Arrays ausgibt
    public static void printArray(int[] array) {
        for(int i=0; i<array.length;i++) {
            System.out.println(array[i]);
        }
    }
}

Die Ausgabe des Programmes ist: 1 2 3 4 5 1 2 3 4 5 2 623 1 6 24 6

Loading...