Erro ao mostrar uma parte da matriz

Cara, existe diferença entre 0, nulo e não existe.
Você precisa considerar a maneira como o java lida com tais situações e, neste caso, a exceção será lançada assim que for identificado que há uma tentativa de acessar uma posição/índice inexistente no vetor/matriz

Mas me explica, onde exatamente eu tenho que mudar para solucionar isso?

Eu entendi agora, quando eu usei mat.lenght - 1 o vetor virou 2, ou seja 0 e 1 né?

Você só pode iterar nas linhas e colunas que estão dentro do limite de tamanho da matriz. Se a matriz tem ordem 3x3, você só pode ir de 0 a 2.
Qualquer tentativa de acessar posições fora desse intervalo, vai disparar erro.

Eu alterei algumas coisas e ainda não deu certo. A matriz 3x3 que o Java faz é essa?

0,0 0,1 0,2
0,0 0,1 0,2
0,0 0,1 0,2

Ou essa

0,0 0,1 0,2
1,0 1,1 1,2
2,0 2,1 2,2

Sempre será da esquerda para a direita, de cima para baixo, logo, é a segunda

Eu tive que mudar totalmente para funcionar

 for (byte  i = 0; i < 1; i++) { 
   System.out.println(mat[i][i+2]);
   System.out.println(mat[i+1][i+1]);
   System.out.println(mat[i+2][i]);
  }

Entre 0 e 1 só tem uma iteração. Logo, o for é dispensável.

Então eu posso retirar o for e deixar o resto?

O que você está tentando fazer? Qual o objetivo?

Fazer um programa que mostre todas as diagonais de um matriz IxI, e depois achar o determinante

Para isso você só precisa iterar sobre ela, não tem que inventar de mostrar o índice + qualquer coisa ou índice - qualquer coisa.

Consegui resolver

for (byte i = 0; i < mat.length; i++) {
      byte a = 1;
      if (i == 0) {
        System.out.println(mat[i][n - a]);
      }
      if (i > 0) {
        System.out.println(mat[i][n - i - 1]);
      }
    }