今天首先复习的是面向对象这一思想,按我理解的话是让我们在用程序进行编程时能够有一个比较明确的逻辑思路,就好比当我们遇到一个问题时我们首先应该有一个比较明确的步骤,所以就多敲吧。
然后我在写写数组吧,这东西我自己弄的时候总是忘记。
首先就是定义方式,有两种,一种就是
int []arr=new int[],这种必须在后面的括号中给出数组的长度才能让JVM进行初始化。
或者int[] arr = {1,2,3}和int[] arr = new int[]{1,2,3}。
int arr[],这种只是定义了一个数组。
它们两个一上一下分别也称为动态初始化和静态初始化,意思就是数组的长度分别由人和系统给出。
然后就是JAVA中的内存分配,这里主要讲了堆和栈,栈内存主要存放的是局部变量,而堆内存中则储藏的是所有new出来的东西。
然后就是数组中常见的报错了:
a:ArrayIndexOutOfBoundsException:数组索引越界异常
原因:你访问了不存在的索引。
b:NullPointerException:空指针异常
原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
就像上面这个程序一样,当我们要输出数个一维数组是,我们需要将它放进一个二维方程里,同样二维方程也需要定义它的长度,除此之外,程序中的arr[i]=new int [i+1]则是定义了每次输出的一维数组的长度,否则就会出现空指针报错。
还有上次作业里遇到的一个概念:
循环体中的先加就是在下一次循环之前加一,后加一就是在循环体之内加的,万一循环判断没过,则不会加一。跟while和do…while一样。
数组出现空指针报错
最新推荐文章于 2024-02-05 17:06:11 发布