Java入门第一阶段总结
前言
写了三周的模拟题,对原本就厌恶的模拟更加深恶痛绝。但是不得不说模拟题是对一门语言入门掌握其语法成效最快的一类题,轻松地从C入门到了Java。一直坚信各门语言都是想通的,一力破万法。
作业过程总结
第一周的题大致的让我掌握了Java的基础语法,逻辑上依旧停留在面向过程的暴力解题。第二周的题用上了所谓的方法--但是我还是喜欢叫他函数,不懂为什么要增加这么一个概念。第三周开始运用类等一系列面向对象的思想写完了一套大模拟的题。三周的时间慢慢地了解了何谓面向对象,何谓面向过程。以前写题从来没有刻意去写不必要的函数,以追求更高的效率。但是未来的工作不会像现在这样不停的追求效率去刷题,更大规模的编程再用这样的思想是走不远的,增加一定的冗余以提高算法的复用性。写学校的作业最大的感受就是输出格式的繁琐,其实大可以简单的输出结果去掉不必要的格式,这是可能是长期训练养成的“恶习”吧,训练的目的是为了提高算法的水平,而不应该把时间浪费在不必要的格式上。第一周写题就因为一个符号浪费了半个小时,这无疑令人火大,在之后的过程中也有碰到,像什么结尾的“.”时有时无,令人头大--还好第三周不用写格式。
每次写题时间都在一个小时左右吧,几道模拟题写这么久,说出去还有点丢人。之所以用时如此之久主要还是因为对Java的不熟练,在这之前应该就用这个写过两道题(只写过核心算法,定义输出之类的还是队友帮忙写完的。随着渐渐熟练希望下次用时能尽量减短。至于严谨性。。。 。。。
OO设计心得
面向过程主要在乎的是完成程序最终的结果。面向对象就是将最终结果拆成若干个部分,完善各个部分的内容,实现的部分还具有复用性的特征。两者只是在目的上有所区别,其最重要的依旧是个人的编程水平,掌握再多的思想没有写的能力也毫无作用。实践出真知,多看多写多错多练,水平等一系列东西自然而然就会提升。
测试的理解与实践
模拟题被我深恶痛绝的主要原因在于他的十分费时,当然这跟年纪变大没有年轻时的激情也有关,遥想还是一年前的萌新的时候啥都不会只会写模拟暴力,那时候还是很快乐的。模拟题提升入门的编程能力是有很大帮助的,对于很多数据结构的认识,数据范围的了解等等是非常有益的,特别是对于语法的认识用的多了自然也就懂了。模拟题的特点就在于不需要太多的高级算法和思维,只用一股脑的暴力完成各个步骤就能解决,可以大大提升萌新刷题的信心。
设置测试样例之前最重要的是给出数据范围,一道题目没有明确指出各个给定的参量的范围是有瑕疵的,至于在测试点带上明确说明,这无疑增加了大家骗分过样例的狼子野心,如果是给训练出题这是绝对不可能出现的。但要给大家写作业的话。。。还有就是如果给定的是int型的数据在没有特别的必要的情况下是不需要超出int的数据范围的,没有意义除了骗一发错误提交。出浮点数的建议输出结果加上特判,因为不同的算法可能会出现一点点的精度误差
fabs[(标程-输出)/标程]<=1e-6等操作是竞赛上常用的浮点数判断方式。
课程收获
学会了基础的Java语法,最关键学会了高精度,比赛时队友再也没有抢走我键盘的可能了。
建议
编程是一个开放性的创造,不应该在写题时加上特定的要求,用什么方法各有各的招,我们要中国创造。。。
Java入门第一阶段总结的更多相关文章
- JAVA学习第一阶段(1)
java入门第一阶段 1.在java中接受并保存用户输入的值: (1)import java.util.Scanner//引入包 (2)Scanner input=new Scanner (Syste ...
- JAVA入门第一季(mooc-笔记)
笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季 ...
- java 初学者 第一阶段作业编程总结及心得体会
0.前言 第一阶段java作业分为3次. 第一次作业是简单得一些语法和一些简单得逻辑思维,主要内容有求三角形是什么三角形的,还有就是求坐标点所在范围的,也涉及到了数字和字母的转换,总之相相当于是给ja ...
- Java入门第一季
慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Ar ...
- Java入门第一章
后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...
- JAVA EE 第一阶段考试
在第一阶段中我们学习了Spring Struts2 Hibernate.虽然在外面的公司中,公司项目的框架中都不在使用Struts2了.他好像出现了不可修复的bug.但是在学校,依然还是要学习这个.在 ...
- java入门第一步之完成jdk的安装(window)【转】
为了面向更多的人类,我决定重温我的java起步: 要进行java开发第一步就是进行java环境的安装,也就是jdk的按装: 1.由于java被oracle收购了,我们下载jdk也就去oracle的官网 ...
- Java入门第一季——从此投身Java??
找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季 一.简 ...
- Java入门第一季学习总结
一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...
随机推荐
- 03-Vue数据请求
1. vue-resource vue-resource jsonp请求 <body> <div id="app"> <!-- v-model 监听表 ...
- Vulnhub靶场DC-1 WP
前言 之前提到过最近在做vlunhub的靶场复现工作,今天开始更新writeup吧.(对着walkthrough一顿乱抄嘻嘻嘻) 关于DC-1(官网翻译来的) 描述 DC-1是一个专门构建的易受攻击的 ...
- ERP系统定价模型及费用组成
很多人选择ERP系统的时候最关心的就是费用问题,因为很多中小企业资金都是比较缺乏的,如果需要使用大量的金钱来购买ERP系统这是不现实的.你知道ERP系统的定价模型有哪些吗?你知道影响ERP系统价格的因 ...
- Journal of Proteomics Research | 构建用于鉴定蓖麻毒素的串联质谱库
文章题目:Constructing a Tandem Mass Spectral Library for Forensic Ricin Identification 构建用于鉴定蓖麻毒素的串联质谱库 ...
- 手动实现AJAX
AJAX 每日更新前端基础,如果觉得不错,点个star吧
- 洛谷3388 tarjan割点
题目链接:https://www.luogu.com.cn/problem/P3388 tarjan算法果然牛逼,时间复杂度是O(|V|+|E|),所以1e4个结点2e5条边的图完全不在话下orz o ...
- 【短道速滑一】OpenCV中cvResize函数使用双线性插值缩小图像到长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。
今天,一个朋友想使用我的SSE优化Demo里的双线性插值算法,他已经在项目里使用了OpenCV,因此,我就建议他直接使用OpenCV,朋友的程序非常注意效率和实时性(因为是处理视频),因此希望我能测试 ...
- [dfs] HDU 2019 Multi-University Training Contest 10 - Block Breaker
Block Breaker Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)T ...
- 使用IDEA操作Hbase API 报错:org.apache.hadoop.hbase.client.RetriesExhaustedException的解决方法:
使用IDEA操作Hbase API 报错:org.apache.hadoop.hbase.client.RetriesExhaustedException的解决方法: 1.错误详情: Excepti ...
- WordPress 版本升级、主题升级记录
版本升级 升级很简单,但是以防万一,先备份数据. 一.备份数据库 mysqldump -u root -p --database myblog > myblog.sql 若需要还原可执行如下操作 ...