OCA/OCP Estudo

Boa noite pessoal,
estou estudando Java através do livro da Kathy Sierra
E estou com dúvida no seguinte exercício:

Dado que a síntaxe do loop for está correta, e dado:

import static java.lang.System.*;

class _ {
  
  static public void main(String[] __A_V_){
      String $ = "";
      for(int x=0; ++x < __A_V_.lenght; )   // for loop
      $ += __A_V_[x];   
}

out.println($);

}

E a linha de comando:

java _ - A .

Qual é o resultado?

A. -A
B. A.
C. -A.
D. _A.
E. _-A.
F. A compilação falha
G. Uma exceção é lançada em tempo de execução

Bom amigos eu marquei a C pois vejo que o caracter - faz parte do array, mas o livro diz que a resposta correta é a letra B, alguém sabe me dizer o motivo?

Então, a primeira coisa que quero ver é qual versão você pretende da certificação.
Afinal, a partir da versão 8, o java não aceita classes com o nome “_”.
Se for esta versão, a resposta certa seria a F - a compilação falha.

Tentando compilar com a versão 7, o erro é apresentado na linha

Afinal, $ é declarado dentro do método main e não poderia ser referenciado fora.

A resposta do livro é a B
Pois existe um pré incremento, descobri isso ontem.