Raju Champaklal wrote:int a[][]=new int[5][];
As far as the code is concerned it does throw an ArrayIndexOutOfBoundsException but as you placed it inside the initializer the exception is thrown when an object of this class is created/instantiated. Try writing new A() in main() method to check it out.
Going back to your first question:
Raju Champaklal wrote:
int a[][]=new int[5][];
does this mean that
a[0]=null;
a[1]=null; and so on till a[4] ? i think this is why i get null pointer exception when i try to sue a[0][0];
This is an array of arrays so the cells you refer to by the first dimension are actually references to the second array so they indeed are initialized to contain null values. This also implies that you cannot refer to a[0][0] since there isn't anything initialized there which results in NullPointerException.
Regards,
Paul.