1.在代码中使用数组时,一定要依次声明、创建并初始化数组。
2.起别名:数组名表示的是整个数组---如果我们将一个数组变量赋给另一个变量,那么两个变量将会指向同一个数组。
int[] a=new int[n];
...
int[i]=123;
...
int[] b=a;
b[i]=345;//a[i]的值也会变成345
如果想要复制数组,应该声明、创建并初始化一个新数组,元素依次复制。
3.静态方法第一次执行到一条返回语句时控制权将会回到调用代码中。尽管可能存在多条返回语句,任何静态方法每次都只会返回一个值,即被执行行的第一条返回语句的参数。
4.API的目的是将调用和实现分离。
5.String类型是Java的一个数据类型,但并不是原始数据类型。Java的String类型为()这些操作内置了相应的方法,而且Integer和Double库还包含了分别和String类型相互转化的静态方法。
parseInt(String s) toString(int i) parseDouble(String s) toString(double x)
6.构造函数没有返回值,因为他总是返回它的数据类型的对象的引用。每当用例调用了new(),系统都会:
为新的对象分配内存空间;
调用构造函数初始化对象中的值;
返回该对象的一个引用。
答疑:
1、什么是Java的字节码?
它是程序的一种低级表示,可以运行于Java的虚拟机。将程序抽象为字节码可以保证Java程序员的代码能够运行在各种设备之上。
2、Java允许整型溢出并返回错误值的做法是错误的。难道Java不应该自动检查溢出吗?
他们之所以被称为原始数据类型就是因为缺乏此类检查。避免此类问题并不需要很高深的知识。
3、Math.abs(-2147498769)的返回值是什么?
-2147498769。因为整数溢出。
4、如果使用一个变量前没有将它初始化,会发生什么?
如果代码中存在任何可能导致使用未经过初始化的变量的执行路径,Java都会抛出一个编译异常。
5、Java表达式1/0和1.0/0.0的值是什么?
第一个会产生一个运行时除以零异常(他会终止程序,因为这个值未定义);第二个表达式的值是Infinity(无穷大)