Quantas maneiras de declarar Array existem?

Quantas maneiras diferentes existem de declarar Array? Vejo muitos exemplos e as vezes umas manias me confundem.
Meu hábito é:

QualquerQueSeja[] nome = ...

Tipo[] array= new Tipo[n];

Tipo array[]= new Tipo[n];

Tipo[] array= {x,y,z};

Tipo array[]= {x,y,z};

a diferença é se vc vai ou não inicializar o array na hora da criação…

veja os exemplos passados pelo danieltaranta:

os 2 primeiros vc cria um array com o tamanho “n”

os 2 últimos vc cria e inicializa o array com os valores passados entre { }

tb pode fazer assim: digamos que existe um método que recebe um array de inteiros

public void metodo(int a[])
{}

vc pode chamá-lo assim:
metodo(new int[]{1,2,3,4,5,6,7,8,9});