前言

  写了三周的模拟题,对原本就厌恶的模拟更加深恶痛绝。但是不得不说模拟题是对一门语言入门掌握其语法成效最快的一类题,轻松地从C入门到了Java。一直坚信各门语言都是想通的,一力破万法。

作业过程总结

  第一周的题大致的让我掌握了Java的基础语法,逻辑上依旧停留在面向过程的暴力解题。第二周的题用上了所谓的方法--但是我还是喜欢叫他函数,不懂为什么要增加这么一个概念。第三周开始运用类等一系列面向对象的思想写完了一套大模拟的题。三周的时间慢慢地了解了何谓面向对象,何谓面向过程。以前写题从来没有刻意去写不必要的函数,以追求更高的效率。但是未来的工作不会像现在这样不停的追求效率去刷题,更大规模的编程再用这样的思想是走不远的,增加一定的冗余以提高算法的复用性。写学校的作业最大的感受就是输出格式的繁琐,其实大可以简单的输出结果去掉不必要的格式,这是可能是长期训练养成的“恶习”吧,训练的目的是为了提高算法的水平,而不应该把时间浪费在不必要的格式上。第一周写题就因为一个符号浪费了半个小时,这无疑令人火大,在之后的过程中也有碰到,像什么结尾的“.”时有时无,令人头大--还好第三周不用写格式。

  每次写题时间都在一个小时左右吧,几道模拟题写这么久,说出去还有点丢人。之所以用时如此之久主要还是因为对Java的不熟练,在这之前应该就用这个写过两道题(只写过核心算法,定义输出之类的还是队友帮忙写完的。随着渐渐熟练希望下次用时能尽量减短。至于严谨性。。。  。。。

OO设计心得

  面向过程主要在乎的是完成程序最终的结果。面向对象就是将最终结果拆成若干个部分,完善各个部分的内容,实现的部分还具有复用性的特征。两者只是在目的上有所区别,其最重要的依旧是个人的编程水平,掌握再多的思想没有写的能力也毫无作用。实践出真知,多看多写多错多练,水平等一系列东西自然而然就会提升。

测试的理解与实践

  模拟题被我深恶痛绝的主要原因在于他的十分费时,当然这跟年纪变大没有年轻时的激情也有关,遥想还是一年前的萌新的时候啥都不会只会写模拟暴力,那时候还是很快乐的。模拟题提升入门的编程能力是有很大帮助的,对于很多数据结构的认识,数据范围的了解等等是非常有益的,特别是对于语法的认识用的多了自然也就懂了。模拟题的特点就在于不需要太多的高级算法和思维,只用一股脑的暴力完成各个步骤就能解决,可以大大提升萌新刷题的信心。

  设置测试样例之前最重要的是给出数据范围,一道题目没有明确指出各个给定的参量的范围是有瑕疵的,至于在测试点带上明确说明,这无疑增加了大家骗分过样例的狼子野心,如果是给训练出题这是绝对不可能出现的。但要给大家写作业的话。。。还有就是如果给定的是int型的数据在没有特别的必要的情况下是不需要超出int的数据范围的,没有意义除了骗一发错误提交。出浮点数的建议输出结果加上特判,因为不同的算法可能会出现一点点的精度误差

fabs[(标程-输出)/标程]<=1e-6等操作是竞赛上常用的浮点数判断方式。

课程收获

  学会了基础的Java语法,最关键学会了高精度,比赛时队友再也没有抢走我键盘的可能了。

建议

  编程是一个开放性的创造,不应该在写题时加上特定的要求,用什么方法各有各的招,我们要中国创造。。。

Java入门第一阶段总结的更多相关文章

  1. JAVA学习第一阶段(1)

    java入门第一阶段 1.在java中接受并保存用户输入的值: (1)import java.util.Scanner//引入包 (2)Scanner input=new Scanner (Syste ...

  2. JAVA入门第一季(mooc-笔记)

    笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季 ...

  3. java 初学者 第一阶段作业编程总结及心得体会

    0.前言 第一阶段java作业分为3次. 第一次作业是简单得一些语法和一些简单得逻辑思维,主要内容有求三角形是什么三角形的,还有就是求坐标点所在范围的,也涉及到了数字和字母的转换,总之相相当于是给ja ...

  4. Java入门第一季

    慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Ar ...

  5. Java入门第一章

    后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...

  6. JAVA EE 第一阶段考试

    在第一阶段中我们学习了Spring Struts2 Hibernate.虽然在外面的公司中,公司项目的框架中都不在使用Struts2了.他好像出现了不可修复的bug.但是在学校,依然还是要学习这个.在 ...

  7. java入门第一步之完成jdk的安装(window)【转】

    为了面向更多的人类,我决定重温我的java起步: 要进行java开发第一步就是进行java环境的安装,也就是jdk的按装: 1.由于java被oracle收购了,我们下载jdk也就去oracle的官网 ...

  8. Java入门第一季——从此投身Java??

    找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季  一.简 ...

  9. Java入门第一季学习总结

    一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...

随机推荐

  1. Ruby中的Hash(哈希),你可以理解为字典

    原文链接 以下代码在Ruby 2.5.1中编译通过 定义 myHash = Hash.new myHash1 = Hash["key1" => 100, "key2 ...

  2. 一文洞悉JVM内存管理机制

    前言 本文已经收录到我的Github个人博客,欢迎大佬们光临寒舍: 我的GIthub博客 学习导图: 一.为什么要学习内存管理? Java与C++之间有一堵由内存动态分配和垃圾回收机制所围成的高墙,墙 ...

  3. 洛谷 P5596 【XR-4】题 题解

    原题链接 本题只要 推式子 就可以了. \[y^2-x^2=ax + b \] \[a x + x^2 = y^2 - b \] \[4 x^2 + 4 ax = 4 y^2 - 4b \] \[(2 ...

  4. 【Unity游戏开发】跟着马三一起魔改LitJson

    一.引子 在游戏开发中,我们少不了和数据打交道,数据的存储格式可谓是百花齐放,xml.json.csv.bin等等应有尽有.在这其中Json以其小巧轻便.可读性强.兼容性好等优点受到广大程序员的喜爱. ...

  5. java两数相乘基础算法

    下面是别人给我的代码: package com.bootdo; public class Test { public static void main(String[] args) { System. ...

  6. 最便捷的神经网络可视化工具之一--Flashtorch

    前言 几周前,我在AnitaB.org组织的Hopperx1 London上发表了演讲作为伦敦科技周的一部分. 在演讲结束后,我收到了热烈的反馈,所以我决定写一个稍微长一点的演讲版本来介绍FlashT ...

  7. 阿里云ECS(Ubuntu)单节点Kubernetes部署

    参考资料: kubernetes官网英文版 kubernetes官网中文版 前言 这篇文章是比较久之前写的了,无聊翻了下博客发现好几篇博文排版莫名其妙的变了... 于是修改并完善了下.当初刚玩k8s的 ...

  8. [POJ2533]Longest Ordered Subsequence<dp>

    题目链接:http://poj.org/problem?id=2533 描述: A numeric sequence of ai is ordered if a1 < a2 < ... & ...

  9. JAVA研发面试题

    转自:http://www.jianshu.com/p/1f1d3193d9e3 Java基础的知识点推荐<Java编程思想>,JVM的推荐<深入理解Java虚拟机>,Spri ...

  10. html前端之基础篇

      HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen ...