Código :

public class JavaApplication2 {
public static void main(String[] args) {
        // TODO code application logic here
        int a,b,contador=0, ver=0;
        Scanner sc = new Scanner(System.in);
        Random r= new Random();
   
        System.out.println("insete numero de filas y columnas");
        a= sc.nextInt();
        int ref=0;
        for(int i=1;i<a;i++){
            ref=ref+i;
        }
            int mat[][] = new int[a][a] ;
        for (int i=0; i< mat.length;i++){
            for (int j=0; j<mat.length;j++){
                mat[i][j]=r.nextInt();//llena la matriz
            }
        }
                for (int i=0; i< mat.length;i++){
            for (int j=0; j<mat.length;j++){
              System.out.print (mat[i][j]) ;//llena la matriz
            }
            System.out.println(" ");
        }
                for (int i=0; i< mat.length;i++){
   
              if( mat[i][i]!=0){
                  ver=ver+1;
              }
          
        }
               if(ver==a){//verifica que la diagonal principal no sea cero
                for (int i=0; i< mat.length;i++){
                   
            for (int j=i+1; j<mat.length;j++){
                if(mat[j][i]==0){
                    contador=contador+1;//verifica cantidad de ceros debajo de diagonal principal
                }
               
           }
            }
        }else {
                   System.out.println("La matriz no es escalonada");
               }
       if(ref==contador){
            System.out.println("la matriz es escalonada");
        }else {
        System.out.println("la  matriz no es escalonada");
        }
    }
    
}