Arrays in Logo

Arrays in Java are a numbered sequence of elements of a specific length. In typical Java code, arrays are commonly used, but other collections like ArrayList are also popular for their flexibility.

public class Arrays {
    public static void main(String[] args) {
        // Here we create an array 'a' that will hold exactly 5 integers.
        // By default, an array is zero-valued, which for integers means 0s.
        int[] a = new int[5];
        System.out.println("emp: " + java.util.Arrays.toString(a));

        // We can set a value at an index using the
        // array[index] = value syntax, and get a value with
        // array[index].
        a[4] = 100;
        System.out.println("set: " + java.util.Arrays.toString(a));
        System.out.println("get: " + a[4]);

        // The length property returns the length of an array.
        System.out.println("len: " + a.length);

        // Use this syntax to declare and initialize an array
        // in one line.
        int[] b = {1, 2, 3, 4, 5};
        System.out.println("dcl: " + java.util.Arrays.toString(b));

        // Array types are one-dimensional, but you can
        // compose types to build multi-dimensional data
        // structures.
        int[][] twoD = new int[2][3];
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                twoD[i][j] = i + j;
            }
        }
        System.out.println("2d: " + java.util.Arrays.deepToString(twoD));

        // You can create and initialize multi-dimensional
        // arrays at once too.
        twoD = new int[][] {
            {1, 2, 3},
            {4, 5, 6}
        };
        System.out.println("2d: " + java.util.Arrays.deepToString(twoD));
    }
}

Note that arrays in Java are printed in the form [v1, v2, v3, ...] when using Arrays.toString() or Arrays.deepToString() methods.

When you run this program, you’ll see output similar to this:

emp: [0, 0, 0, 0, 0]
set: [0, 0, 0, 0, 100]
get: 100
len: 5
dcl: [1, 2, 3, 4, 5]
2d: [[0, 1, 2], [1, 2, 3]]
2d: [[1, 2, 3], [4, 5, 6]]

In Java, arrays have a fixed size once they are created. If you need a dynamic size, consider using ArrayList or other collections from the java.util package. Also, Java doesn’t have the concept of slice notation like in some other languages, so initializing arrays with specific indices (like [...]{1, 3: 4, 5} in Go) isn’t directly possible. You would need to create the array and then set specific indices manually.