Ява - короткая и литье

У меня есть следующий фрагмент кода.

public static void main(String[] args) {
 short a = 4;
 short b = 5;
 short c = 5 + 4;
 short d = a;
 short e = a + b; // does not compile (expression treated as int)


 short z = 32767;
 short z_ = 32768; // does not compile (out of range)

 test(a);
 test(7); // does not compile (not applicable for arg int)
}

public static void test(short x) { }

Правильно ли следующее резюме (в отношении только приведенного выше примера с использованием short)?

прямая инициализация без приведения возможна только с использованием литералов или отдельных переменных (при условии, что значение находится в диапазоне объявленного типа)если относительное значение присваивания относится к выражениям, использующим переменные, необходимо приведение

Но почему именно мне нужно привести аргумент второго вызова метода с учетом предыдущего резюме?

Ответы на вопрос(3)

Ваш ответ на вопрос