不管你学的是哪一门计算机语言,只要你看了半本书,你就会接触到这两种语句,我想那些编程神人们,在遇到问题需要解决的时候第一个想到的语句也肯定是这个,有了这两个语句几乎可以解决编程过程中的所有问题,在程序代码中这两种语言也是无所不在的,今天我们学的就是这两个语句。可能是我接触过几门语言的原因,对于这两个语句我都有所理解,所以今天的课程很轻松的就搞定了。
if语句是流程控制语句,可以节省程序运行的时间,是代码看起来简单明了;for循环语句更是简单,是if的升级版本,if只能解决选择比较少的,然条件多的也可以用嵌套解决,但是那样很容易把自己给绕进去,不推荐使用。for循环实在需要大量有规律的运算的时候使用的。如果选择的条件很多,用if需要嵌套很多的时候需要用到的是switch语句。有些时候循环用while要比for强大,但只是个别案例,具体看个人理解。
我是很喜欢这两个语句的,很多时候一个程序需要用到这两个东西的时候,我会迫不及待得输入for或if,有时候甚至变量都没有设置,或许只是初学者的情怀吧。对了,switch语句我需要在这里说两句,我以前一直以为switch语句就是符合条件了,就执行符合条件的那一句,如果不是今天课上老师说了一句,我想我会一直错下去的,switch语句可以不要break的,很多教科书或者入门书籍中都直接在switch语句分支case语句末尾加上break,虽然这种情况我们用的比较多,但是也会给我们造成一定的误导(我就是一个)。希望你不会像我一样。
今天就这样吧,因为没有记笔记,所以这里我就把上周六记的笔记补上,期待明天的成长。
面向对象——哲学之美
1.一切程序设计的本质工作:抽象
属性是私有的,封装。
2.抽象的
class ABC{
//属性(数据)
//方法(过程,操作,行为)
public void work(){
}
}
3.封装?
(1)更安全的访问,符合业务规则的访问
(2)提供统一的访问,使得外部不再关心类的细节,提升程序的可维护性。
封装产生类
4.多态?(一个对象多种形态就是多态;多态是由继承来实现的)
Animal a=new Bird();
主观认为 客观存在(从不同的观察角度)
编译时类型 运行时类型(从不同的运行时期)
a.move();
a.sing();(编译错误,编译器不让访问)
(1)任何子类对象都可以看作是父类对象,但是子类只能调用父类里面的方法,不能调用子类扩展里面的属性和方法。(编译器规则,由编译器保证的,可以绕过的)
(2)如果子类定义覆盖了父类的方法,我们把子类对象当作父类对象来看时,如果调用父类被覆盖的方法,则调用的是子类信定义的属性和方法。
(运行时起规则,JVM保证的规则,不可打破的)
a.getclass();
Class.forName("类名");
5.继承的作用(快捷,扩展性,代码的重用。。。。)
继承
1.任何子类的构造方法都要调用父类得构造方法
创建对象和调用构造方法是同时进行的
(1)为什么要这样?
任何子类生成对象都要生成父类的对象
(2)如何通过语法保护规则
java语法规则:
(1)任何类都有构造函数,如果不明确定义,则系统会自动加上默认构造函数
(2)任何一个类得构造函数第一行只能是
this(***);OR super(***)
如果不明确声明,则系统加上默认的调用super();
软件工程,软件设计遵循的目标:
一个中心,两个基本点
中心:一切一用户需求为中心;
基本点:尽可能的让软件有可扩展的,可维护的。