java心得体会_初学java之心得体会

java心得体会_初学java之心得体会0.前言从学习java以来,已经进行过三次pta作业的训练。虽然每次作业的完成都遇到了些许困难和障碍,不是一帆风顺的,但通过自己的摸索,实践,总能完成作业要求,每次作业之后都有不同的收获。这些新的收获告诉我,实践出真知,动手会学习到更多东西。总结前面的三次作业,我发现面向对象程序设计这种语言不再那么神秘,我相信马上就能看到揭开神秘面纱后的的它。1.作业过程总结(1).总结三次作业的知识迭代关系第一…

大家好,又见面了,我是你们的朋友全栈君。

0.前言

从学习java以来,已经进行过三次pta作业的训练。虽然每次作业的完成都遇到了些许困难和障碍,不是一帆风顺的,但通过自己的摸索,实践,总能完成作业要求,每次作业之后都有不同的收获。这些新的收获告诉我,实践出真知,动手会学习到更多东西。总结前面的三次作业,我发现面向对象程序设计这种语言不再那么神秘,我相信马上就能看到揭开神秘面纱后的的它。

1.作业过程总结

(1).总结三次作业的知识迭代关系

第一次作业是练习java类型的使用,以及一些简单的语法。主要目的是让我们熟练运用java的基本操作,为后面的练习打下坚实基础。通过第一次作业,主要掌握了java类型的使用,及输入输出操作,起初输入操作是不太熟悉的。第二次作业比第一次作业难度肯定加大了,最直观的感受就是代码量增多了,题型也是求解某一类问题,开始要求用方法,而不是所有东西都没有章法地写在main里面。方法的使用是java的一大特色,所以必须要求掌握。第三次作业显然难度又加大了,作业的难度系数总是在上升状态的,这样才能得到有效的提高。这次作业的要求是另写一个类并实现多种方法。确实难住我了,不过通过摸索还是实现了。类的使用是java入门,因为java程序就是用类组成的。这三次作业是有java知识迭代关系的:第一次作业:掌握java的基本语法及类型,以及输入输出操作——>第二次作业:掌握java的方法使用,以及稍复杂的计算——>第三次作业:掌握java的类的使用及多种方法的使用,用new操作来创建一个类的对象,从而用对象去调用类的功能方法。这些都是一次一次递进的,每次作业完成后都会离真正的java更近一步,也能慢慢体会面向对象程序设计的特点。

(2).如何通过作业逐步从面向过程过渡到面向对象

作业通过一些具体要求,让我们学习java的用法。第一次作业,就从输入输出感受到了面向过程与面向对象的差别,第二次作业就学习到了方法的用法,第三次作业,就了解到了java里的类与方法,这些都是作业提供的从面向过程到面向对象的过渡。

(3).作业过程中遇到的问题及解决方法

问题1:作业一中的判断三角形类型中的判断等腰直角三角形测试点过不去

解决方法:试了很多组数据,发现有的数据与预想的不一样,原来计算机有精度要求,而等腰直角三角形的两直角边都是无理数,不能轻易用勾股定理判断,要用精度去规范判断等腰直角三角形。

问题2:作业一中的统计最大数出现次数中的以0结束弄不好

解决方法:刚开始我是用while(输入整型数并以输入0为结束),结果程序出错,后面换了一种思路,把输入整型并以输入0结束放在while里面就可以了。

问题3:作业二中求二元一次方程中根为0的时候输出-0

解决方法:当根为0时,直接控制输出0

问题4:作业二中的日期类设计中指定的类的方法返回类的类型,不知道怎么返回。

解决方法:想了很久,试着各种方法,突然就试成功了。原来返回类就是用这个类去new一个对象,把改变的参数传出去,返回这个类的对象。

问题5:作业二中的日期类设计中指定的类的方法返回String的类型

解决方法:也是试出来的,实践出真知,直接返回年月日就可以了。

(4).每次作业花费的时间比例

大概是1:2:3,随着作业难度的加大,花的时间也越多。

(5).对编程过程的严谨性的认识及教训

java编程是极其严谨的,不容一丝差错,宁可牺牲其灵活性也要保证其稳定性。有一次我在java编译器里将类的名字命名为Test,结果一直报错,而程序又找不出错误,想破脑袋也想不明白,后来请教别人,被某位碰到过相似问题的仁兄一语道破,原来java类里面已经隐含定义了Test类,我们又定义一次会让编译器错乱,最后我把类名改了,果然可以运行了。真是一招不慎,满盘皆输。失之毫厘,差之千里,任何标点符号都不能出错。

2.OO设计心得

(1).面向过程与面向对象的比较

面向过程与面向对象有什么区别,起初我是不太清楚的。通过这三次作业,我发现了不同之处。首先面向过程主要实现是用函数实现,函数之间没有限制,可以相互调用,学了java以后,就感觉这种函数的调用比较乱,没有章法。而面向对象就不同了,面向对象的主要实现是类,其中类里面又包含方法和属性,有一个比较清晰的架构,而类的使用是通过对象的,不是直接可以使用的,这就与面向过程有明显区别。面向对象的类是可以有多个对象的,通过对象来使用类里的各种方法和属性,就与我们现实操作环境比较接近,因为我们现实生活中也是如此,比如都是人,但是人与人有不同的特性,不能称之为同一个对象。java里就可以使用对象来解决个体的差异。这些就是面向过程与面向对象我的理解。

(2).面向对象设计的基本原则理解

java是由类组成的,类又由方法及属性构成,面向对象是指,java的一切操作都通过对象来操作,只有对象可以使用类的方法及属性,这就是面向对象的思想,不同的对象可以使用不同的它们自己所需的方法及属性,就像我们人一样,各取所需。

(3).OO编程思维的理解

由对象控制操作,面向对象程序设计,类里面定义方法属性,对象来调用。java的特点:封装,继承,多态。

3.测试的理解与实践

(1).测试对于编码质量的重要性

测试对于java程序就像医生对于人一样,检查哪里有漏洞,这个程序是否符合设计要求,达到预期效果,程序的健壮性如何。

(2).假如让你设计测试用例,你会如何做

我不会泛滥测试,而是先观察程序,觉得程序在哪个地方有漏洞,进而测试该点,让程序测试边界及特殊界限,极限测试,和功能测试,让程序尽可能地健壮。

4.课程收获

通过这三次的作业训练,觉得自己算是知道java这种面向对象程序语言是怎么一回事了,知道怎么去写java程序了,知道java的大体构造了。

5.对课程的建议

希望可以学习到更多的java知识。

6.接下来的学习计划

继续完成java作业,尽可能拓展java学习,可以找些题目来练习,自己多动手练习,弥补不足。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156517.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 本地用微信测试公众号开发对接微信支付思路

    本地用微信测试公众号开发对接微信支付思路本地开发对接微信时 常常用到微信测试公众号 碰到支付对接时没有微信支付测试号的存在 只能使用微信商户号产生真正的交易 辗转测试多种方案 最终本地成功测试对接 准备清单测试公众号 appid appsecret openid 微信商户号 mch id mch key 绑定了微信商户号的微信公众号 appid appsecret openid 内网穿透的域名思路 1 用手机微信访问内网穿透的域名访问测试 2 测试到微信支付时 替换测试公众号的 appid appsecret open

    2025年7月13日
    2
  • String[]数组初始化「建议收藏」

    String[]数组初始化「建议收藏」创建数组://一维数组String[]str=newString[5];//创建一个长度为5的String(字符串)型的一维数组String[]str=newString[]{“”,””,””,””,””};String[]str={“”,””,””,””,””};//二维数组String[][]str=newString[2][2];//

    2022年7月18日
    186
  • numpy中矩阵转成向量使用_a与b的内积等于a的转置乘b

    numpy中矩阵转成向量使用_a与b的内积等于a的转置乘b有点抱歉的是我的数学功底确实是不好,经过了高中的紧张到了大学之后松散了下来。原本高中就有点拖后腿的数学到了大学之后更是一落千丈。线性代数直接没有学明白,同样没有学明白的还有概率及统计以及复变函数。时至今日,我依然觉得这是人生中让人羞愧的一件事儿。不过,好在我还有机会,为了不敷衍而去学习一下。矩阵的转置有什么作用,我真是不知道了,今天总结完矩阵转置的操作之后先去网络上补充一下相关的知识。今天的代码操…

    2022年9月25日
    2
  • anaconda是什么东西_anaconda jupyter

    anaconda是什么东西_anaconda jupyter2020/5/18一、Anaconda有什么用?是一个安装、管理python相关包的软件,还自带python、JupyterNotebook、Spyder,有管理包的conda工具,非常有用。

    2022年8月5日
    5
  • 微信公众号推送的公众号图片尺寸_推文海报尺寸

    微信公众号推送的公众号图片尺寸_推文海报尺寸作者:trickyEdecay链接:https://www.zhihu.com/question/27138896/answer/127500504来源:知乎著作权归作者所有。商业转载请联系作者获得授

    2022年8月1日
    11
  • pandas fillna详解

    pandas fillna详解pandas中补全nan具体的参数Series.fillna(self,value=None,method=None,axis=None,inplace=False,limit=None,downcast=None,**kwargs)[source]参数: value:scalar,dict,Series,orDataFrameValuetouset…

    2022年8月12日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号