Olá galera, esse é o meu primeiro de muitos tutoriais que irei fazer aqui no DevMedia, hoje vamos implementar um programinha que irá calcular o valor de um fatorial.

Usaremos o bloco de notas para escrever o código do programa, você pode usar o editor que desejar. Primeiramente vamos relembrar o conceito de fatorial.

O fatorial de um número n (n pertence ao conjunto dos números naturais) é sempre o produto de todos os seus antecessores, incluindo si próprio e excluindo o zero.

A representação é feita pelo númeor fatorial seguido do sinal de exclamação, n! .

Exemplo de número fatorial: 6! = 6 . 5 . 4 . 3 . 2 . 1 = 720

Importante: n >= 0 (n maior ou igual a zero) , ou seja, não existe fatorial para números negativos.

* O fatorial de 0 ( 0! ) é 1, pois o produto de número nenhum é 1.

O numero fatorial pode ser modificado para outras formas:

n! = n . (n-1) . (n-2) . (n-3)!

 exemplo: 6! = 6 . (6-1) . (6-2) . (6-3)!
6! = 6 . 5 . 4 . 3! 6! = 120 . 3!
6! = 120 . 3 . (3-1) . (3-2)!
6! = 120 . 3 . 2 . 1!
6! = 120 . 6 = 720

---------------------------------------------------------------------------------------
SIM E O JAVA?
Calma ae! Agora que entendemos o que é um fatorial vamos ao código.

/* Progama para calcular o valor de 5 Fatorial */

public class Fatorial {

public static void main (String args[]){

double x = 69; // aqui criamos uma variável que irá armazenar o numero do fatorial
double f = x; // aqui criamos outra var. Será o resultado temporário da multiplicação

while (x > 1){ // Enquanto x for menor que 1 faça o que está entre as chaves

  f = f *(x-1); // A variável temporária ira receber o resultado da multiplicação dela, pelo valor de x menos 1
  x--; // aqui decrementamos o valor de x em um, no final do loop
  System.out.println(f); // Esse comando imprime o valor de f. O último será o valor final do Fatorial.
                    }
                                                         }
                                    }

OBS. se escrevermos o código com o comando System.out.println(f) fora do loop não aparecerá o valor parcial do fatorial, somente o seu resultado final.

Ex.:

while (x > 1){
  f = f *(x-1); x--;
                    }
  System.out.println(f); // Aqui exibira o valor final do Fatorial

Ex2.: while (x > 1){ 
             f = f *(x-1);
             x--;
             System.out.println(f); // Aqui exibira o valor parcial do Fatorial, o seu último valor será o resultado do fatorial.               }

Agora é só compilar e executar o programa, para alterar o valor do numero a ser calculado, altere o valor de X na declaração da variável.
Espero que tenham gostado, qualquer dúvida, postem!

Um abraço.