0.前言

  本文是有关pta2020.3至2020.4所有面向对象程序课程(java)共三次作业的阶段性总结,是java学习最开始起步时期的成果。

1.作业过程总结

  这三次作业,是从c++过渡到java的桥梁。

  第一次作业是在全新的jdk环境中完成以前在c++习惯的事情,两者之间还是有很大的区别,比如键盘输入输出用到的函数和结构完全不同,main函数在组内的表达(

import java.util.Scanner;
    
public class Main {
        public static void main(String[] args) {
            Scanner x=new Scanner(System.in);

  如同这些,对于刚接触java的我们来说都是全新的东西,需要学习和接触。同时,我们也学会了新的函数,迎接了jdk这个方便快捷的软件,使用这个软件,我从心底里感到舒适和方便,虽然熟悉它需要很长的时间,而且他没有相应的汉化版,但是好在相对应的学习已经融入课程里,不用操之过急。

  第二次作业则开始分函数了,不过现在还是没有开始分class,所以相对应的作业环境较为轻松。但是,main函数黑箱的做法让我对自己编写的函数有了更为严苛的要求,这次作业比第一次更累,虽然花的时间反而是更短,而且正确率更高。因为每次出现问题的时候总是要去调试,没有经验的我总是找不到问题所在,让我心里很难受,只能安慰自己说这是为了熟悉jdk的用法而必须的功课。当然,结果来看确实是如此。

  第三次作业是最难的,这个难尤其体现在第三题上,多个class的嵌套是一个很难的问题。由于没有经验,对于private变量的修改在使用函数的时候还有很多不安和迷惘,不过这些迷惘也很快就被打破了。反而是算天数差,前后n天时出现了最大值运行超时的问题,一直到现在都没有解决。按照常理是for循环经历过多的问题,但是基本上脱离了for循环我就找不到可靠稳妥的方法了,这方面上网也没有查到可用的函数,只能找机会去核对了。

三次作业让我初步学会了eclipse的用法,让我适应了基本的java编程,在此基础之上,可以学习新的算法,可以说是新的开始。

2.设计心得

  在第三次作业中,每个class的模块化被用图形明显地表现了出来,虽说如此,模块化远远没有交代的那么容易,因为在第二次作业和第三次作业之间的函数虽然看起来什么都没有变,但是由于变量存储位置的变化,不同class里函数的分工发生了明显的变化,这个教训告诉我:要想依据面向对象的思路进行工作,仍然需要交代清楚很多东西,毕竟这次作业的class都在干什么自己最清楚不过,即使如此还是在交流中出了很多问题,真正实现面向对象仍然任重道远。

  相比较而言,目前面向对象带给我的最直观感受是方便分类和查找错误,因为所有的代码全是自己的东西。而且,一旦调试出现错误立马可以通过明智的调试设计来知道哪里出了错误,再加上方便的eclipse让我的工作效率相比devc高了不少。当然,任务量也是相应地大了。

3.测试的理解与实践

  第三次作业的第三题由于出现了关于天数间隔的错误,我被迫开始了相应的调试。而且另外一个“规范性”测试点也有报错,于是我就设计了一个关于2014.1.1和2020.1.1的问题,并且拿起了计算器亲手进行了计算,而结果发现是多了一天,而且是仅仅2019这一年多,2018,2017没有问题,所以我设计了一组数据,最后在最关键的2019.12.31-2020.1.1找出了错误,并且修改了自己的算法。

  这个算法本来是为了能够直接避免for循环,只是通过计算就能计算两个日期之间的天数,但是还是引发了错误,所以这时候就体现了测试的重要性了。一个重要的教训:不经测试的函数投入了整个class群就会如同石沉大海一样,让人很难在错误中找到真正出问题的部分,所以在编写之前就应该检查一下代码是否真的没有问题。

4.课程收获

  虽然紧张,但是这几次作业写的很开心。虽然紧张但是充实的四周,专门给我用来适应eclipse这个先天优秀的软件,让我度过了不错的时光。同时,我终于能够将自己所学勉强与自己想象中的成熟软件的结构拼凑在一起,去主动探索自己想开发出来的软件。虽然都是以后的事情,但是我看到了那种可能性。

5.对课程的建议

  尽量多采用知识点视频解决的问题,设立专门的答疑视频,个人认为java的学习和其他科目完全不同,不是学到一个一个知识点而是解决一个一个盲区。

以上。

2020.4.2关于java.pta的总结的更多相关文章

  1. 阿里巴巴供应链平台事业部2020届秋招-Java工程师

    阿里巴巴供应链平台事业部,2020届秋季校园招聘开始啦!Java开发工程师虚位以待,机会难得,占坑抓紧. 入职就发师兄,一对一师兄辅导. 在这里,你将有机会接触阿里集团的所有数据库.中间件等基础设施. ...

  2. 2020面试整理【java】

    spring面试题 1.你对spring的理解 Spring 是个Java企业级应用的开源开发框架. Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用. Sprin ...

  3. 2020 重新出发,JAVA 学习计划

    ------ @[toc]# 前言 我呢已经工作七年了,一直没有换工作,因为我这个人没什么太大的野心,安安稳稳的生活就挺好,目前的公司虽然福利一般,但是工作稳定,环境也都很熟悉了. 但是今年,到目前为 ...

  4. JAVA PTA 7-1 作品评分 (10 分)

    全国中小学生Scratch作品大赛拉开了序幕.每个参赛选手可以通过网络直接上传作品.本次比赛人人可做评委.每个网络评委可以通过网络对每一件作品进行打分.评分系统也是请程序高手设计的,能自动去掉一个最高 ...

  5. 2020 年了,Java 日志框架到底哪个性能好?——技术选型篇

    大家好,之前写(shui)了两篇其他类型的文章,感觉大家反响不是很好,于是我乖乖的回来更新硬核技术文了. 经过本系列前两篇文章我们了解到日志框架大战随着 SLF4j 的一统天下而落下帷幕,但 SLF4 ...

  6. 2020年薪30W的Java程序员都要求熟悉JVM与性能调优!

    前言 作为Java程序员,你有没有被JVM伤害过?面试的时候是否碰到过对JVM的灵魂拷问?   一.JVM 内存区域划分 1.程序计数器(线程私有) 程序计数器(Program Counter Reg ...

  7. 2020由浅入深最强Java面试题

    1.String,StringBuffer和StringBuilder有什么区别?     String是字符串常量,不可变对象,每次对String修改都等同于生成了一个新的String象,然后将指针 ...

  8. 2020重新出发,JAVA语言,什么是JAVA?

    @ 目录 什么是 java? JAVA三大体系 Java SE Java EE JavaME java的主要特性和优势 1. 面向对象 2. 平台无关性 3. 可移植性 4. 简单性 5. 解释执行 ...

  9. 2020重新出发,JAVA语言,JAVA的诞生和发展史

    java的诞生 在1991年时候,James Gosling在Sun公司的工程师小组想要设计这样一种主要用于像电视盒这样的消费类电子产品的小型计算机语言. 这些电子产品有一个共同的特点:计算处理能力和 ...

  10. 2020重新出发,JAVA学前了解,DOS常用命令

    什么是 DOS ? DOS(Disk Operating System)是一个使用得十分广泛的磁盘操作系统. 常见的DOS有两种:IBM公司的PC-DOS ** 和 微软公司的MS-DOS,它们的功能 ...

随机推荐

  1. 看K线学炒股(8.5)

    郑煤机,这只票之前我亏损拿着,昨日理性分析是要打开上涨空间了,毕竟下半年要挖煤,挖煤要煤机,业绩预期就不会差.好了,亏损票,昨日大涨,清了一些,今日大涨八个点清仓.既然分析是打开上涨空间了,那就应该是 ...

  2. 如何把高德地图搜索结果导出成excel里?

    前段时间,根据朋友的要求,开发了百度地图里的商家采集工具. 最近,又开发了腾讯地图里的商家采集工具. 来了兴致,干脆把高德地图的采集工具也一并搞定!:) 原理应该差不多,我就查阅了下高德地图的采集规则 ...

  3. Xpath 常用语法展示

    非标准代码处理 from lxml import etree #导入lxml 中erree模块 parser = etree.HTMLParser(encoding="utf-8" ...

  4. Blob下载

    下载方式 const aBlob = new Blob( array, options ); export function downLoadFile(data: ArrayBuffer, fileN ...

  5. No.1.5

    优先级:不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器的样式 优先级公式:!imporant>行内样式>id选择器>类选择器>标签选择器>通配符选择 ...

  6. Word02 领慧讲堂就业讲座office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  7. 语言-页面-模板-Velocity

    Velocity教程 - 简书 (jianshu.com) Velocity模板引擎详解 - Velocity 教程 | 编程字典 (codingdict.com) Velocity模板(VM)语言介 ...

  8. Linux 查看enable自启动服务

    pi@pi4:~/client $ systemctl list-unit-files |grep enable autovt@.service enabled avahi-daemon.servic ...

  9. 莫凡Python之keras 2

    莫凡Python 2 kearsregressionpython Classifier 分类 使用 mnist 数据集,这是0-9的图片数据,我们使用神经网络去识别这些图片.显示图片上的数据 本质上是 ...

  10. 【七侠传】冲刺阶段--Day6

    [七侠传]冲刺阶段--Day6 团队成员 20181221曾宇涛 20181202李祎铭 20181209沙桐 20181215薛胜瀚 20181216杨越麒 20181223何家豪 20181232 ...