前言

  写了三周的模拟题,对原本就厌恶的模拟更加深恶痛绝。但是不得不说模拟题是对一门语言入门掌握其语法成效最快的一类题,轻松地从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. Git 基础入门

    目录 git安装 基本设置 创建版本库 相关概念 将代码提交到分支仓库 版本回退 代码修改 撤销修改 文件删除 github 远程仓库 添加远程仓库 克隆远程仓库 分支操作 忽略特殊文件 git安装 ...

  2. 解决不管其他元素z-index设置多高,都在视频下面的方法

    <div style="z-index:-1"> <embed name="Movie1" src="http://ecards.s ...

  3. java之AQS和显式锁

    本次内容主要介绍AQS.AQS的设计及使用.ReentrantLock.ReentrantReadWriteLock以及手写一个可重入独占锁 1.什么是AQS? AQS,队列同步器AbstractQu ...

  4. WEB应用之httpd基础入门(一)

    前文我们聊了下http协议web服务的一些常识和httpd服务器软件三种响应模型的简单介绍,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12515075.ht ...

  5. Natas4 Writeup(Referer篡改)

    Natas4: 提示来源出错,合法用户只能来自"http://natas5.natas.labs.overthewire.org/". 在http的header中,referer代 ...

  6. docker redis安装及配置(外网访问 关闭安全限制 设置密码)

    docker run -p 6379:6379 --name redis -v /usr/local/redis/etc/redis.conf:/etc/redis/redis.conf -v /us ...

  7. requests模块使用二

    1.cookies和session 1.1.什么是cookie和session? cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据. session(会话)起来本含义是指有始有 ...

  8. 环境篇:Virtualbox+Vagrant安装Centos7

    环境篇:Virtualbox+Vagrant安装Centos7 1 安装Vagrant Vagrant下载地址:https://www.vagrantup.com/ Vagrant百度网盘:https ...

  9. ML-Agents(三)3DBall例子

    ML-Agents(三)3DBall例子 前一周忙着公司的考试,都没有怎么学新的,今天补上~ 之后的记录,我准备先只研究官方的示例,主要是把研究过程中的疑惑和想法记下来.首先我先补充一下如何利用GPU ...

  10. 在vscode中配置LeetCode插件,从此愉快地刷题

    大家好,今早在B站看到up主的vscode里藏了leetcode插件,这才知道原来还有这款神器.但是没想到在用的时候遇到了一些麻烦,花了一点时间才解决.所以写这篇文章除了给大家安利这个好用的插件之外, ...