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的数据类型 ...
随机推荐
- 【转】sublime text 2 快捷键大全
Ctrl+L 选择整行(按住-继续选择下行) Ctrl+KK 从光标处删除至行尾 Ctrl+Shift+K 删除整行 Ctrl+Shift+D 复制光标所在整行,插入在该行之前 Ctrl+J 合并行( ...
- 【分布式锁】03-使用Redisson实现RedLock原理
前言 前面已经学习了Redission可重入锁以及公平锁的原理,接着看看Redission是如何来实现RedLock的. RedLock原理 RedLock是基于redis实现的分布式锁,它能够保证以 ...
- 【Weiss】【第03章】练习3.25:数组模拟队列
[练习3.25] 编写实现队列的例程,使用 a.链表 b.数组 Answer: 在这章一开头就已经写了个链表的队列例程了,所以实际上只要做b小题就可以. 数组模拟队列和链表的两点小不同是: ①.数组空 ...
- JDBC工具类实现登陆验证-Java(新手)
JDBC工具类: package cn.chuang.JdbcDome; import java.sql.*; public class JdbcUtilss { private static fin ...
- python迭代器、装饰器和生成器
装饰器 1.装饰器的作用 1. 装饰器作用:本质是函数(装饰其他函数)就是为其他函数添加其他功能 2. 装饰器必须准寻得原则: 1)不能修改被装饰函数的源代码 2)不能修改被装饰函数的调用方式 3.实 ...
- 安装SQL Server 2008R2 报错“此计算机上安装了 Microsoft Visual Studio 2008 的早期版本”解决方法
安装SQL Server 2008 R2报错“此计算机上安装了 Microsoft Visual Studio 2008 的早期版本,请在安装 SQL Server 2008 前将 VS2008 升级 ...
- sql-lib闯关1-10关
闯关之前我们需要搭建所需环境SQLi-Labs SQLi-Labs是一个专业的SQL注入练习平台,该平台包含了以下在测试场景中常见的注入类型: 1.报错注入(联合查询) 1)字符型 ...
- Nginx Rewrite规则的break和last示例
break和last各自的作用 官方解释 last:stops processing the current set of ngx_http_rewrite_module directives fol ...
- 一个完整的机器学习项目在Python中的演练(二)
大家往往会选择一本数据科学相关书籍或者完成一门在线课程来学习和掌握机器学习.但是,实际情况往往是,学完之后反而并不清楚这些技术怎样才能被用在实际的项目流程中.就像你的脑海中已经有了一块块"拼 ...
- 两行代码统计模型参数量与FLOPs,这个PyTorch小工具值得一试
你的模型到底有多少参数,每秒的浮点运算到底有多少,这些你都知道吗?近日,GitHub 开源了一个小工具,它可以统计 PyTorch 模型的参数量与每秒浮点运算数(FLOPs).有了这两种信息,模型大小 ...