|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。编码这几天会合工夫重拾388备份文件格局研讨,利用的工具次要是NetBeans、010Editor、Excel。NetBeans用来测试剖析处的纪律,用java言语完成;010Editor次要是二进制大概说十六进制的情势显现被剖析文件,功效较强,次要体现在显现和组合方面;Excel用来格局化显现十六进制的块,显现响应的文本大概数值,并能够增加正文,标注未知地区,为下步剖析留下陈迹并做好筹办。java言语远远还没有效熟,从本次使用级其余操纵展示的十分充实,汗。上面纪录一些java利用中犯下的毛病和团体以为必要重点存眷的中央,都是小工具,可是me以为对今后少犯这类初级毛病有匡助^_^
1、byte[]中的值。
从文件中读取512个字节到byte[]ba;byte应当是0到255,可是在间接转换为int范例的时分呈现了负值。这个成绩刚入手下手弄的me狼狈万状,厥后才发明是这个缘故原由。用inti=ba[1]&0xff;才算办理成绩。
2、String和StringBuffer。
前者是不成变的,后者是可变的。已经想给String范例的变量从头赋值,呵呵,绝不客套的堕落。厥后关于大概变更的字符串,一概接纳StringBuffer。再一点就是传进函数的字符串,假如还要传出了局,必需接纳后者,即StringBuffer。
3、swtichcase语句中忘记了case中的break停止。
这个可真是害逝世人的。事先正为格局不决在测试,原本就不是很断定,报出一堆毛病,只好重新剖析,剖析来剖析往以为逻辑上应当没有甚么成绩了,再转头一看,嘿嘿,本来是忘了break,程序就顺着实行下往了。原本的分支了局全体实行了,不错才怪呐。
4、全局变量的利用。
假如忘性不算太好的,对全局变量的利用必定要稳重,那怕仅仅是再一个较长的函数中。程序要承受命令行参数,假如没有参数指定就默许猎取以后目次下的一切文件作为参数。由于默许文件列表的功效是厥后增加出来的,调试不乐成me就逝世劲的在新增的代码中找啊找啊找,啥都没有发明。me乃至又找到docs细心查阅了File的申明档,并写了很多多少System.out.println();来慢慢断定历程,厥后偶然中发明是利用了args[i]的原因。哼,没有命令行参数,处置的时分天然毫无所获了,改成File[]fa;fa[i]才算办理成绩。一时变量随用随声明,用完就丢,出去不要做全局计划。intfilelen;不如file.length()来的快速便利正确。
5、hashCode和equals。
向汇合中增加对象的时分,该对象会挪用办法对照时分已存在,这时候候就要挪用响应的办法,hashCode和equals的挪用按次是先前者然后才是后者。override这些办法能够界说本人的对象,使之在对照的时分显现出本人假想的效果。
6、unicode的表达体例。
间接charc=uf099;是不可的,准确的体例是charc=uf099;
7、显现某数值的hex值。
int对应的是Integer,long对应的是Long。为了悦目些,主张toHex后持续toUpperCase。
8、for语句中的continue是持续的意义,另有while。
停止此次操纵,持续下一个轮回。
9、对日期举行加减运算时利用Calendar而不是Date,格局化显现用DateFormat。格局化时主张Locale的利用。
10、假如不想吃力识别e文,那就不要遗漏catch用的system.out。
主要缺点就是:速度比较慢,没有C和C++快 |
|