Przykład

public static void main (String[] args){
if ( args.length > 3 ) {
System.out.println( "Więcej niż 3" ); //$NON-NLS-1$
if ( args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
System.out.println( "Rozpoczyna się literą a" ); //$NON-NLS-1$
if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Kończy się literą z"); //$NON-NLS-1$
}
}
}
}

Rozwiązanie
Odwróć warunek i dodaj instrukcję return.
Poniższe rozwiązanie opisał Martin Fowler w sekcji Refaktoryzacja.
  1. Odwróć warunek zewnętrznej instrukcji if.
  2. Dodaj instrukcję return pod instrukcją if.
  3. Powtarzaj te kroki do momentu, gdy nie będzie już głęboko zagnieżdżonych instrukcji if.

public static void main (String[] args){
if ( args.length <= 3 ) {
return ;
}

System.out.println( "Więcej niż 3" ); //$NON-NLS-1$

if ( !args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
return ;
}

System.out.println( "Rozpoczyna się literą a" ); //$NON-NLS-1$

if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Kończy się literą z" ); //$NON-NLS-1$
}

}