Srs., não sei se isto aconteceu com todo mundo, mas para alguns números apareceu o sinal de negativo na frente, mesmo alterando o tipo da variável para long. Segue meu código para apreciação.
class Fatorial { public static void main(String[] args) {
long fatorial = 1;
for(int i = 1;i<=40;i++) {
fatorial = fatorial * i;
System.out.println("O fatorial de "+ i +" é igual a: "+fatorial); } } }