double[] numbers;
char[] letters;
int[] ids;
int[] arr; — общепринятый Java-стиль
int arr[];
int [] arr;
int arr [];
String[] fullNames;
Player[] players;
short[] nums;
int[] array = new int[10];
String[] strings = new String[4];
это то же самое, что и
String[] strings;
strings = new String[4];
int[] arr = {};
System.out.println("Тип массива - " + arr.getClass());
System.out.println("Суперкласс типа массива - " + arr.getClass().getSuperclass());
System.out.println("Доступные методы:");
for (Method m : arr.getClass().getMethods()) {
System.out.println(m.getName());
}
[B - byte
[C - char
[D - double
[F - float
[I - int
[J - long
[S - short
[Z - boolean
[L - любой объект
Object obj = new int[]{3, 6, 9};
int[] arr = (int[]) obj;
System.out.println(obj);
System.out.println(arr);
[I@2f490758
[I@2f490758
getClass().getName() + '@' + Integer.toHexString(hashCode())
String[] array1 = {};
char[] array2 = new char[0];
short[] array3 = null;
import org.openjdk.jol.info.ClassLayout;
public class JOLArray {
public static void main(String[] args) throws Exception {
System.out.println(ClassLayout.parseInstance(new int[10]).toPrintable());
}
}
public class ByteCodeArray {
public static void main(String[] args) {
int[] nums = new int[5];
int len = nums.length;
}
}
javap -c ByteCodeArray.class
Code:
0: iconst_5
1: newarray int
3: astore_1
4: aload_1
5: arraylength
6: istore_2
7: return
String[] names = new String[]{"Max", "Grigoriy", "Java"};
// та же запись, но короче
String[] names = {"Max", "Grigoriy", "Java"};
float[] partsExpression = {1.83, 1.67, 1.75, 1.50};
Resume[] resumes = {new Resume("uuid1"), new Resume("uuid2")};
адрес начала массива + индекс * количество памяти, выделенное на один элемент
nums[0] → 0xFF00;
nums[1] → 0xFF04;
nums[2] → 0xFF08;
int[] nums = new int[2];
nums[0] = 3;
nums[1] = 7;
int num = nums[0];
int num1 = nums[1];
System.out.println(num);
System.out.println(num1);
// или можно сразу вывести значение без создания переменной
System.out.println("Под индексом 0 хранится значение " + nums[0]);
System.out.println("Под индексом 1 хранится значение " + nums[1]);
System.out.println((new int[]{3, 6, 9})[1]);
int[] ints = new int[5];
for (long lng = 0L; lng < ints.length; lng++) {
System.out.println(ints[lng]);
}
System.out.println((int) ints[lng]);
String[] strings = new String[4];
for(int i = 0; i < strings.length; i++) {
strings[i] = "Строка по индексу " + i;
}
for(int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}
char[] chars = new char[32];
int i = 0;
for(char ch = 'Я'; ch >= 'А'; ch--) {
chars[i++] = ch;
}
for(i = chars.length - 1; i >= 0; i--) {
System.out.print(chars[i]);
}
System.out.println("Значение по умолчанию для byte " + (new byte[1])[0]);
System.out.println("Значение по умолчанию для short " + (new short[1])[0]);
System.out.println("Значение по умолчанию для int " + (new int[1])[0]);
System.out.println("Значение по умолчанию для long " + (new long[1])[0]);
System.out.println("Значение по умолчанию для float " + (new float[1])[0]);
System.out.println("Значение по умолчанию для double " + (new double[1])[0]);
System.out.println("Значение по умолчанию для char " + (new char[1])[0]);
System.out.println("Значение по умолчанию для boolean " + (new boolean[1])[0]);
System.out.println("Значение по умолчанию для String " + (new String[1])[0]);
int[] nums = new int[4];
for(int i = 0; i <= nums.length; i++) {
nums[i] = i + 1;
}
String[] str = {"A", "B", "C"};
for(int i = str.length - 1; i >= 0; i--) {
System.out.println(str[i - 1]);
}
int[] nums = new int[10];
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]);
}
int[] nums = new int[10];
for (int num : nums) {
System.out.print(num);
}
char[] chars = {'q', 'w'};
for(char symbol : chars) {
System.out.println(symbol);
}
Вывод:
q
w
float[] nums = {1.5f, 0.22f, 1.0f};
System.out.println(nums[1]);
nums[1] = 3.31f;
System.out.println(nums[1]);
Вывод:
0.22
3.31
int[] nums = {0, 1, 2, 3, 4};
for(int i = nums.length - 1; i > 0; i--) {
nums[i] = nums[i - 1];
}
for(int num : nums) {
System.out.print(num);
}