第一次课程中老师系统的为我们讲解了Java编程思想,结合上一次课堂检测内容我深刻体会到了Java编程中分解的重要性。
Java编程思想总结下来只有简单的几个字:分解,模式识别、抽象、算法,单元测试,整合。
分解,顾名思义,就是把一个大项目分解成许多小问题;之后辨别、确认小问题的解决方法(通常情况下分解之后的小问题都是非常简单的);因为大问题被拆分,可以对每个模块单独测试从而得以更好地确保程序的健壮性;每个模块都完成后把所有部分拼接在一起,测试无误后就完成了本次程序的编写。
我们之前都学过C/C++,但是C语言是面向过程的编程语言,C++虽然面向对象但是对C语言兼容,而Java是纯粹的面向对象编程,就我个人感觉在思路转换上还是要费些功夫。
课程中老师提到C/C++会生成一个.exe文件,它可以单独运行;而Java是在虚拟机中,可能在你的电脑上可以运行但是在别人的电脑上就不能运行了。
Java中double是没有精确度的,使用其进行数值计算的结果是不准确的;而且Java中String不可以用==判断相等而是要用equals,因为String是一个类,==可以判断基本数据类型,在String中用==判断的是地址而不是内容。
在C/C++中常使用宏定义#define,而Java中用final。
枚举类型enum属于引用类型,其每个值都引用一个特定对象,相同的值引用同一个对象,且==和equals对其是等价的。
关于原码、反码、补码这部分的内容和C/C++是一样的。
计算机中的数据都是按照二进制的方式存储的,一个二进制数首位0为正,首位1为负。当仅仅使用原码的方式进行存储时我们不难发现0有两种便是方式,为例解决之歌问题,出现了反码和补码。对于一个正数而言,它的原码、反码、补码都是一样的。
在做题的时候我们经常遇到数字太大我无法存储的问题,我通常使用String存储,之后String转int类型就是一个问题,而在Java中给出了String转int的基本方法——
int number = integer.parselent(numberString);
在此特地标注,类integer属于包java.lang 。
在课堂检测中我们进行了“四则运算”相关题目编程。
第一阶段还算简单,因为老师曾将为我们讲解过计算机科学导论这门课程,其实当时他在课程中就已经提到并且给出了相关解法。
比如通过随机数获得操作数,通过随机数奇偶确定运算方式等,虽然当时是以C/C++为例,但是思想都是一致的。
到第二阶段时进行了题目升级,我们可以将每一道题目按照String类型存储从而判断题目是否重复,定制方式以及大营方式通过简单的循环节可以实现。
第三阶段中输入大数据进行测试,因为这一部分我没有出错就不再进行讨论总结,操作数个数可以通过动态数组实现,而随机出现括号则可以通过随机数的范围进行添加。
这次测试总体难度不大,只是从未接触过Java随机数的获取方式,费了点时间;题目查重部分和自定义操作数部分也算是此次测试的一个小难点。
虽然听老师讲过Java应有的编程思想,但是在世家操作中还算有些难以把控,之后还需要多加练习。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/288898.html