过大的整数

最近学习二维数组,遇到一个问题,程序如下:

public class ArrayTest {

public static void main(String[] args) {

    int[][] one= {
        {01,09,13,21,24,40,06},
        {07,08,12,15,22,26,08}          
     };
}   

}

可是在编译时报错:
过大的整数:09
过大的整数:08
过大的整数:08

请问什么原因?

Java语言中,以1-9开头的数字会是十进制的,以0x开头的是十六进制的,而以0开头的是八进制的。八进制数字中的位只能由0-7构成,08、09自然就不行了。