0.前言

从学习java以来,已经进行过三次pta作业的训练。虽然每次作业的完成都遇到了些许困难和障碍,不是一帆风顺的,但通过自己的摸索,实践,总能完成作业要求,每次作业之后都有不同的收获。这些新的收获告诉我,实践出真知,动手会学习到更多东西。总结前面的三次作业,我发现面向对象程序设计这种语言不再那么神秘,我相信马上就能看到揭开神秘面纱后的的它。

1.作业过程总结

(1).总结三次作业的知识迭代关系

第一次作业是练习java类型的使用,以及一些简单的语法。主要目的是让我们熟练运用java的基本操作,为后面的练习打下坚实基础。通过第一次作业,主要掌握了java类型的使用,及输入输出操作,起初输入操作是不太熟悉的。第二次作业比第一次作业难度肯定加大了,最直观的感受就是代码量增多了,题型也是求解某一类问题,开始要求用方法,而不是所有东西都没有章法地写在main里面。方法的使用是java的一大特色,所以必须要求掌握。第三次作业显然难度又加大了,作业的难度系数总是在上升状态的,这样才能得到有效的提高。这次作业的要求是另写一个类并实现多种方法。确实难住我了,不过通过摸索还是实现了。类的使用是java入门,因为java程序就是用类组成的。这三次作业是有java知识迭代关系的:第一次作业:掌握java的基本语法及类型,以及输入输出操作——>第二次作业:掌握java的方法使用,以及稍复杂的计算——>第三次作业:掌握java的类的使用及多种方法的使用,用new操作来创建一个类的对象,从而用对象去调用类的功能方法。这些都是一次一次递进的,每次作业完成后都会离真正的java更近一步,也能慢慢体会面向对象程序设计的特点。

(2).如何通过作业逐步从面向过程过渡到面向对象

作业通过一些具体要求,让我们学习java的用法。第一次作业,就从输入输出感受到了面向过程与面向对象的差别,第二次作业就学习到了方法的用法,第三次作业,就了解到了java里的类与方法,这些都是作业提供的从面向过程到面向对象的过渡。

(3).作业过程中遇到的问题及解决方法

问题1:作业一中的判断三角形类型中的判断等腰直角三角形测试点过不去

解决方法:试了很多组数据,发现有的数据与预想的不一样,原来计算机有精度要求,而等腰直角三角形的两直角边都是无理数,不能轻易用勾股定理判断,要用精度去规范判断等腰直角三角形。

问题2:作业一中的统计最大数出现次数中的以0结束弄不好

解决方法:刚开始我是用while(输入整型数并以输入0为结束),结果程序出错,后面换了一种思路,把输入整型并以输入0结束放在while里面就可以了。

问题3:作业二中求二元一次方程中根为0的时候输出-0

解决方法:当根为0时,直接控制输出0

问题4:作业二中的日期类设计中指定的类的方法返回类的类型,不知道怎么返回。

解决方法:想了很久,试着各种方法,突然就试成功了。原来返回类就是用这个类去new一个对象,把改变的参数传出去,返回这个类的对象。

问题5:作业二中的日期类设计中指定的类的方法返回String的类型

解决方法:也是试出来的,实践出真知,直接返回年月日就可以了。

(4).每次作业花费的时间比例

大概是1:2:3,随着作业难度的加大,花的时间也越多。

(5).对编程过程的严谨性的认识及教训

java编程是极其严谨的,不容一丝差错,宁可牺牲其灵活性也要保证其稳定性。有一次我在java编译器里将类的名字命名为Test,结果一直报错,而程序又找不出错误,想破脑袋也想不明白,后来请教别人,被某位碰到过相似问题的仁兄一语道破,原来java类里面已经隐含定义了Test类,我们又定义一次会让编译器错乱,最后我把类名改了,果然可以运行了。真是一招不慎,满盘皆输。失之毫厘,差之千里,任何标点符号都不能出错。

2.OO设计心得

(1).面向过程与面向对象的比较

面向过程与面向对象有什么区别,起初我是不太清楚的。通过这三次作业,我发现了不同之处。首先面向过程主要实现是用函数实现,函数之间没有限制,可以相互调用,学了java以后,就感觉这种函数的调用比较乱,没有章法。而面向对象就不同了,面向对象的主要实现是类,其中类里面又包含方法和属性,有一个比较清晰的架构,而类的使用是通过对象的,不是直接可以使用的,这就与面向过程有明显区别。面向对象的类是可以有多个对象的,通过对象来使用类里的各种方法和属性,就与我们现实操作环境比较接近,因为我们现实生活中也是如此,比如都是人,但是人与人有不同的特性,不能称之为同一个对象。java里就可以使用对象来解决个体的差异。这些就是面向过程与面向对象我的理解。

(2).面向对象设计的基本原则理解

java是由类组成的,类又由方法及属性构成,面向对象是指,java的一切操作都通过对象来操作,只有对象可以使用类的方法及属性,这就是面向对象的思想,不同的对象可以使用不同的它们自己所需的方法及属性,就像我们人一样,各取所需。

(3).OO编程思维的理解

由对象控制操作,面向对象程序设计,类里面定义方法属性,对象来调用。java的特点:封装,继承,多态。

3.测试的理解与实践

(1).测试对于编码质量的重要性

测试对于java程序就像医生对于人一样,检查哪里有漏洞,这个程序是否符合设计要求,达到预期效果,程序的健壮性如何。

(2).假如让你设计测试用例,你会如何做

我不会泛滥测试,而是先观察程序,觉得程序在哪个地方有漏洞,进而测试该点,让程序测试边界及特殊界限,极限测试,和功能测试,让程序尽可能地健壮。

4.课程收获

通过这三次的作业训练,觉得自己算是知道java这种面向对象程序语言是怎么一回事了,知道怎么去写java程序了,知道java的大体构造了。

5.对课程的建议

希望可以学习到更多的java知识。

6.接下来的学习计划

继续完成java作业,尽可能拓展java学习,可以找些题目来练习,自己多动手练习,弥补不足。

java心得体会_初学java之心得体会相关推荐

  1. java 栈空间_初学JAVA——栈空间堆空间的理解

    1.Person pangzi;    //这是在"开拓空间"于栈空间 pangzi=new Person();    //这是赋值于堆空间 上两步就是在做与空间对应的事. 2.值 ...

  2. 学java用什么写比较好_学习Java需要什么基础,初学Java如何写好代码

    原标题:学习Java需要什么基础,初学Java如何写好代码 初学Java的同学时常会遇到这样的情况,跟着入门教程看过一遍,但需要自己写代码的时候却无从下手:写代码的时候时常会遇到不懂的地方,如果停下来 ...

  3. java编程需要数学知识吗_初学Java编程,需要英语和数学基础吗?

    原标题:初学Java编程,需要英语和数学基础吗? "学习Java编程英语和数学是必备条件吗?"很多Java零基础学习或者转型IT行业的都会有这样的疑问,其实刚开始学习Java编程是 ...

  4. mysql上机心得体会_数据库原理上机心得体会

    数据库 资料 心得 C和数据库都一样,都得花时间写各式各样的代码-- 开始学最好得买些书看,然后就自己开始尝试 慢慢地就会了 学数据库看你想从哪个开始学 一般都SQL SERVER 或ACCESS开始 ...

  5. 大学生python实验心得体会_大学生实训心得体会3篇

    转眼间为期两个星期的实训就结束了,但是安利公司的物流配送.黄埔港.益邦物流公司.南沙港以及学校里面的航海模拟实验中心.轮机实训实验楼这些实训过程仍历历在目.以下是小编整理的大学生实训心得体会,欢迎阅读 ...

  6. 感恩工作平台心得体会_最新感恩工作心得体会 (范本)

    最新感恩工作心得体会 ( 范本 ) [格式及要点] I .标题 心得体会的标题可以采用以下几种形式: 在 XX 活动 ( 或 XX 工作 ) 中的心得体会 关于 XX 活动 ( 或 XX 工作 ) 心 ...

  7. java main函数_一行JAVA代码如何运行起来?

    在程序员的世界中,你总会听到一句"PHP是世界上最好的语言"的调侃.然而在你进入软件程序开发之后,你会发现即使开发语言千千万,最盛行的还是JAVA.从淘宝的技术变迁中我们可以见一些 ...

  8. 学JAVA的诗句_学Java有感(终)

    大一的下半学期逐渐步入尾声,我的Java学习也以告一段落.经过一个学期的学习,不能说是融会贯通,但也算小有心得.下面就来谈谈我对这个学期Java学习的感受吧! 在大一的上半学期,我接触到了一个计算机语 ...

  9. java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)

    import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

最新文章

  1. ABAP 程序间的调用
  2. *和**在Python中意味着什么?它与指针和地址有关吗?
  3. Oreo易支付程序开源源码分享发行版V1.3
  4. STM32F405 标准库 SHT20温湿度传感器
  5. oracle100多g满了,Oracle11g ORA-00257归档日志满问题处理
  6. oracle 11g dataguard创建的简单方法
  7. 四年级计算机上册课程标准,新课程标准人教版四年级上册数学全册教案设计
  8. Ubuntu系统下载(清华大学开源软件镜像站)(ubuntu-20.04.1-desktop-amd64.iso)
  9. 相机下载_索尼相机怎样用wifi传照片到手机
  10. php 将中文字符转英文字母_php中怎么将中文转换拼音
  11. 深度神经网络的成功应用,深度神经网络技术赋能
  12. 华为方舟编译器做了些什么,让安卓有了“丝滑”的感觉 ?
  13. 量化选股——基于动量因子的行业风格轮动策略(第2部分—策略回测)
  14. Python实战——1_1.网页制作
  15. 安卓手机/Android11系统无法访问android文件夹下的data目录,怎么解决?
  16. 细谈八种架构涉及模式及其优缺点概述
  17. 2.商场促销 - 策略模式 (大话设计模式Kotlin版)
  18. 新构造运动名词解释_新构造运动的含义
  19. 主流工业以太网介绍和比较(EtherCAT、EtherNet/IP、ProfiNet、Modbus-TCP、Powerlink)
  20. Keil(MDK)开发软件及STM32芯片包官网下载地址

热门文章

  1. 有限体积法(3)——一维扩散方程数值求解(第一类边界条件)
  2. CSS学习笔记(二十一)CSS变量var()
  3. 基于matlab的相干信号的doa 估计,基于空间平滑MUSIC算法的相干信号DOA估计(1)
  4. 关于POJO 即DO/DTO/BO/VO/AO说明
  5. python 操作windows DNS
  6. 网络偷窥者很多,如何消除上网的浏览痕迹?
  7. Unity中训练一个ML-Agents项目—解决torch和mlagents配置问题
  8. 安徽科技学院 信网学院网络文化节 李彤彤
  9. unity字体外发光_【Unity学习心得】Sprite外发光的制作
  10. 正则表达式-正则表达式的元字符