Это не Java, это язык сценариев оболочки.$1
- это первый аргумент, указанный в командной строке.Он говорит сценарию передать первый аргумент командной строки, который вы передали java.exe.Это, в свою очередь, с первым аргументом в вашем вызове main ().
Если ваш main выглядел следующим образом, а значение, которое вы указали, было "foo", выводом будет "foo":
public static void main(String [] args)
{
for (String arg : args)
{
System.out.println(arg);
}
}