Does this follow a typical argument structure, or is my for loop just not correct?

public static boolean areEqual (int[] a1, int[] a2)

{

boolean equalArrays = true;

for( int i = 0; i < a1.length; i++)

{

if (

(

(a1 == null && a2 == null)

&

( a1.length == a2.length)

&

(a1[i] == a2[i])

)

)

return equalArrays;

else return false;

}

return boolean;

}

}