语法 算法
1。结对编程,{}养成习惯很重要。
2。关键字不能做标识符(class,abstrast等)
3。分号不可少
4。大小写敏感(system错System对)
5。for,while等语句后养成添加{}的习惯,不管后面的语句是否只有1句。
6。char,btye,short互相预算都先转换为int,例如char+char结果是int类型。
7。高级数据转换为低级数据需要强制转换符(double-〉float)
低级数据转换为高级数据是自动转换(int-〉double)
8。不加后缀的整数常量系统默认为int,不加后缀的小数常量默认为double。
float i = 0.23这样写是错的!因为0.23默认为double,高级数据转换为低级数据需要强制转换符。
float i = 0.23F这样写是对的。
9。除for循环里,其他有运算符的地方最好都前后隔空,为了美观!
10。程序的执行原理:内存里会为执行的程序分配出4个区域:code segment——存放代码;data segment——存放字符串常量,静态变量;stack——存放局部变量;heap——存放new出来的something。
11。程序的入口都是main方法——public static void main。
12。break会跳出离自己最近的那一层循环(for,while)
13。switch(x)中的x在java中只接受int类型的变量(包括可以被转换为int的变量char,byte,short)
对象
1。面向对象思想的3个思维重点:一。这个问题有哪些类和对象;二。这些类和对象有哪些属性和方法;三。这些类和对象之间的关系。
2。在问题里找类:按照名次来找类是个不错的方法。
3。静态方法(static)里所有非静态变量都要经过对象来引用,否则出错。
4。can‘t find symbol的原因是对象和方法不是出自同一个类,该对象只能引用与自己同一类里的方法。
5。static关键字的变量和方法可以用对象和类名来访问,如System.out........
6。非void返回值类型的方法,少了return语句也会提示错误。
7。多态:在满足有继承,子类重写父类方法,并且父类引用指向子类对象的时候,在调用父类被重写方法的时候,会根据new出来的具体对象类型来调用相应的子类方法,因为是在运行阶段执行,而非编译阶段,故又称为动态绑定.
内存分析图里,具体的原理表现为父类对象里的指针会根据执行时的调用子类对象类型将指针改变指向.
8.在需要使用抽象类的时候,有2种思路:
(1)看此抽象类是否有子类,若有,可以使用子类实例化;
(2)若无子类,看此类是否有static方法,例如 A为抽象类 A a = A.static method();其中 A a是创建引用,不是实例化。