Java - tutorial - 07/13 - arrays

revision:


arrays

arrays are used to store multiple values in a single variable, instead of declaring separate variables for each value.

to declare an array, define the variable type with square brackets: String[] cars;

to insert values to it, we can use an array literal - place the values in a comma-separated list, inside curly braces: String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

to create an array of integers, you could write: int[] myNum = {10, 20, 30, 40};

an array element can be accessed by referring to the index number. Array indexes start with 0: [0] is the first element. [1] is the second element, etc.

example:

        public class Main {
            public static void main(String[] args) {
              String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
              System.out.println(cars[0]); // Volvo
              System.out.println(cars[2]); // Ford
            }
          }
    

To change the value of a specific element, refer to the index number.

example:

        public class Main {
            public static void main(String[] args) {
              String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
              cars[0] = "Opel";
              System.out.println(cars[0]); // Opel
            }
        }
    

To find out how many elements an array has, use the length property.

example:

        public class Main {
            public static void main(String[] args) {
              String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
              System.out.println(cars.length); // 4
            }
        }
    

You can loop through the array elements with the for loop, and use the length property to specify how many times the loop should run.

example:

        public class Main {
            public static void main(String[] args) {
              String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
              for (int i = 0; i < cars.length; i++) {
                System.out.println(cars[i]); // Volvo  BMW  Ford  Mazda
              }
            }
        }
    

A "for-each" loop can be used exclusively to loop through elements in arrays.

syntax:

        for (type variable : arrayname) {
            ...
        }
    

example:

        public class Main {
            public static void main(String[] args) {
            String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
            for (String i : cars) {
                System.out.println(i);  // Volvo  BMW  Ford  Mazda
            }    
            }
        }
    

A multidimensional array is an array of arrays. To create a two-dimensional array, add each array within its own set of curly braces.

example:

        public class Main {
            public static void main(String[] args) {
              int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
              int x = myNumbers[1][2];
              System.out.println(x);  // 7
            }
        }
    

To access the elements of the myNumbers array, specify two indexes: one for the array, and one for the element inside that array. This example accesses the third element (2) in the second array (1) of myNumbers:

Also a for loop inside another for loop can be used to get the elements of a two-dimensional array (we still have to point to the two indexes).

example:

        public class Main {
            public static void main(String[] args) {
              int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
              for (int i = 0; i < myNumbers.length; ++i) {
                for(int j = 0; j < myNumbers[i].length; ++j) {
                  System.out.println(myNumbers[i][j]);  // 1  2  3  4  5  6  7
                }
              }
            }
          }