java现阶段学习总结
Posted yuzuru-1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java现阶段学习总结相关的知识,希望对你有一定的参考价值。
一个学期即将告一段落,通过这个学期对于java的学习让我从对于Java毫不了解,到现在能够用java完成一些小程序,从最初的觉得java的语句太长太复杂记不住,到了解了真实的含义之后觉得不再困难。这段时间的学习中pta是一个主要的题库,能够很好地对我们每一阶段的学习进行练习巩固。
第一阶段,最开始的pta上面作业都比较简单,给我的感觉就和C语言差不了太多,单纯的用循环和ifelse语句等嵌套就能完成,和C语言有区别的只是语言不同带来的一些关键词的不一样,这种前期的pta目的是为了让我们熟悉熟悉java的基本语法结构,对java的基本语法结构有个简单的认识,而这次pta对于有着C语言基础的我们来说其是算是很简单的题目了。再有这一小段时间的捡起来语法基础以及熟悉java的语法之后,pta的难度略微提高了,结合我们这段时间的学习,主类中不再只有一个主方法,还有很多其他的方法,代码更加复杂了一些。而第三次的pta作业,则但简单引入了面对对象编程,开始出现了一个程序中不止拥有一个类的情况,并且引入了一个很重要的东西——构造器。构造器的作用是困扰了我一段时间的问题,只接触过C语言的我很疑惑直接赋值不好吗,为什么要用构造器对参数进行赋值呢,随着后续的深入学习,我才明白,构造器的存在,能够让代码实现代码重用。而从这次pta开始,我们才真正进入了java的学习,因为java和C语言的本质上最大的区别就是一个是面对对象编程,一个是面对过程编程。
第二阶段,这个时候开始,代码开始变得复杂,并且代码的重用率相对变得很高,首先是正则表达式。正则表达式其是可以说的另外一种语言,它拥有独立的语法,和java的语法并不一样,这是让我头疼的一点,但是不可否认,他对于一个字符串的格式检验是有奇效的,并且在之后的工作学习中应该不可避免的需要用到它,用户名,密码等等这些需要固定格式的地方,而正则表达式目前来说,对于我还是有些困难的,语法结构总是让我束手无策,今后的学习中,还是一定要把正则表达式弄明白的。另外,在这个阶段的pta中,还增加了一个新的概念,继承。作为java三大特性之一的继承,肯定是至关重要的。而继承中有一个重要的概念就是子类中对于父类方法的重写。另外就是java三大特性中的另外一个——封装性。而这个能够让程序更加稳定,在对于其中一个类的修改上,不会对其他的类造成影响,而实现封装性的很重要的一点就是私有属性,公有方法,通过公有方法访问私有属性。除此之外还引入了抽象类,让我们熟悉了抽象类,为后续的接口做了一个铺垫。接着是列表,列表时我们接触到的第一个泛型类,可以通过尖括号来确定链表中储存的数据类型,当然,当时的我其实并没有泛型类这个概念,而列表和数组最大的区别就是列表示动态储存,有点像是C语言中的链表。Java中的数组是静态的,一但声明之后,数组的长度是不能改变的,而列表则可以在声明之后不断向里面添加数据。在很多时候,我们并不能提前知晓你需要的容量有多大。还有一个重载,重载和重写很容易弄混,两个名字很像,但是是完全不同的两个概念,重载是多个同名的方法,但参数不同,可以通过传入的实参不同调用不同的方法,而重写则是子类对于从父类继承来的方法进行重写覆盖。这是截然不同的两个概念。之后一次的作业则主要是接口的运用。而接口和继承又有一点相似,在接口中会有定义好但没有实现的方法,而实现接口的方法必须实现接口中的所有类,而继承是子类会继承父类的所以有属性和方法,并且可以重写覆盖父类的方法,但是并不是一定要重写,而接口就是一定得实现接口中的所有类。除此之外,实现同一个接口的类可能关系并不大,只是有一个功能相似,但继承自同一个父类的子类之间往往联系比较深。继承就像是圆形和方形,都是形状,都可以求面积,都可以求周长,有多个共同的特性,有较深的联系。接口就像是猪肉和苹果,他们的共同之处非常少,但是他们有一点相同,他们都是食物。所以用接口会更加合适,这个接口除了给猪肉和苹果,还可以给蛋糕等等不同的食物。
第三阶段,这一个阶段其是基础的知识已经掌握的差不多了,更多的是对于之前的知识的综合,做系统,通过几个小的功能实现最终的功能,而大部分小的功能也需要其他方法的辅助才能够实现。而很多方法会在多个功能中需要用到,所以代码会比较复杂。在最后的一次pta作业中,我接触到了一个全新且神奇的东西——逆波兰表达式。逆波兰表达式又称为后缀表达值,我们正常写的四则运算式子是中缀表达式,但是我们普通的中缀表达式中加减乘除括号有不同的优先级,我们计算时很容易知道计算的先后,但是计算机的识别却很复杂,但是通过中缀转后缀,变成后缀表达式,计算机就能够直接进行计算了。因为逆波兰表达式的需要,我还熟悉了一下栈的用法,之前其实也学过栈,但是总来没有接触过相关的题目,通过这次的pta,栈的一些特性我有了大概的了解,先进后出之类的,弹栈压栈等等。
Pta的存在时很有意义的,其是很多知识光听是没有用的,每次听完课总觉得自己听懂了,但是每次写pta时,又会碰到很多问题,自己通过一点一点的百度查资料最终写出来之后,对于知识点的理解就完全不像刚听完课时的云里雾里。并且pta的检测标准比较严格,有很多的测试点,这能够帮我们锁定算法上的很多漏洞,能扣帮我们看到很多想法上的不够严谨。通过这一个学期的学习,我对于java有了一个大概的认识,收获满满!
以上是关于java现阶段学习总结的主要内容,如果未能解决你的问题,请参考以下文章