Arrays
/**
* One way to create an array is with new operator ...
* which allocates the memory for 3 elements
*
* You can also create and initialize the array with {} syntax
* Array length is the number of elements between braches
*/
package com.minte9.basics.arrays;
public class Arrays {
public static void main(String[] args) {
int[] nums;
nums = new int[2];
nums[0] = 1;
nums[1] = 2;
String[] names = {"John", "Marry", "Ana"};
System.out.println(nums[1]); // 2
System.out.println(names[2]); // Ana
try {
names[3] = "Willy";
} catch (Exception ex) {
System.out.println(ex.getMessage()); // Index 3 out of bounds
}
}
}
Types
/**
* An array is forever an array
*
* Creating an array of Dogs, not a new Dob object
*/
package com.minte9.basics.arrays;
public class Types {
public static void main(String[] args) {
Dog[] dogs = new Dog[4]; // array of Dogs
dogs[0] = new Dog();
dogs[1] = new Dog();
// dogs[2] = 222; // Compiler Error
System.out.println(dogs.length); // 4
}
}
class Dog {}
Join
/**
* Array string elements can be joined with ...
* String.join() method (since JDK 1.8)
*/
package com.minte9.basics.arrays;
public class Join {
public static void main(String[] args) {
String[] A = new String[] {"a", "b", "c"};
System.out.println(
String.join(", ", A) // a, b, c
);
}
}
Questions and answers:
Clink on Option to Answer
1. What does using the new operator do when creating an array?
- a) Allocates memory for a fixed number of elements
- b) Automatically fills the array with values
2. What determines the length of an array created with {} syntax?
- a) The highest index used
- b) The number of elements inside the braces
3. What happens if you access an array index that is out of bounds?
- a) A runtime exception is thrown
- b) The value is set to null
4. Once created, what can an array store?
- a) Any type of value
- b) Only elements of its declared type
5. How can string elements of an array be combined into one string?
- a) Using String.join()
- b) Using Arrays.toString() only
6. Why is an array described as “forever an array”?
- a) Because it cannot be resized
- b) Because its type cannot change