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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 博弈论基础_博弈论基础罗伯特

    博弈论基础_博弈论基础罗伯特博弈论这个环节特别好玩,游戏嘛(不会的话做题就不好玩了,当年打比赛比赛结束后两三分钟才推出来,一看答案想撕草稿纸)本篇文章含有大量逻辑证明,做题用不到,不想看的可以略过直接看结论和模板参考文献特别鸣谢孙大佬的PPT和精彩讲解威佐夫博弈尼姆博弈SG函数斐波那契博弈区间最值查询ST表详解预处理查询巴什博弈问题模型只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取…

    2022年10月15日
    0
  • JavaScript Array splice() 方法

    JavaScript Array splice() 方法语法array.splice(index,howmany,item1,…..,itemX)实例在位置2,添加新项目,并删除1个项目:varfruits=[“Banana”,”Orange”,”Apple”,”Mango”];fruits.splice(2,1,”Lemon”,”Kiwi”);在位置2,添加新项目varfruits=[“Banana”,”Orange”,”Apple”,”Mango”];fruits.s.

    2022年7月13日
    18
  • @ResponseBody注解作用与原理「建议收藏」

    @ResponseBody注解作用与原理「建议收藏」1、概念注解@ResponseBody,使用在控制层(controller)的方法上。2、作用作用:将方法的返回值,以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。如果返回值是字符串,那么直…

    2022年5月8日
    84
  • datagrip激活码2021_在线激活

    (datagrip激活码2021)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月21日
    102
  • 我说我不会算法,阿里把我挂了。[通俗易懂]

    我说我不会算法,阿里把我挂了。[通俗易懂]不说了,字节跳动也反手把我挂了。

    2022年5月18日
    40
  • 神经网络–反向传播详细推导过程

    神经网络–反向传播详细推导过程概述以监督学习为例,假设我们有训练样本集  ,那么神经网络算法能够提供一种复杂且非线性的假设模型  ,它具有参数  ,可以以此参数来拟合我们的数据。为了描述神经网络,我们先从最简单的神经网络讲起,这个神经网络仅由一个“神经元”构成,以下即是这个“神经元”的图示:这个“神经元”是一个以  及截距  为输入值的运算单元,其输出为  ,其中函数  被称为“激活函数”。在本教程中,我们选用sigmoid函…

    2022年5月6日
    56

发表回复

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

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