昨天(4月27日)群友发来一个关于控制台乱码的问题。
程序能正常运行,说明代码本身问题不大,基本可以判定是底层编译环境的问题,乱码的产生主要是编码和解码的规则不一致。目前遇到的难点主要是中文解码出现乱码,而英文和数字不影响。这就要提到常用的两个汉字编译规则了。
GBK ,一个汉字占用2个字节。
UTF-8 ,一个汉字占用3个字节。
我个人是半eclipse半idea用户。学校课程要求用eclipse,自学课程要求用idea,所以对应的基本操作都会一点,但是编译环境实在是一点也没接触过。即便如此,面对java交流群的第一个问题,我还是硬着头皮浏览各种解决方案,最后总结了下面几点注意事项。
- 编译规则尽量保持前后一致,GBK 对应GBK ,UTF-8 对应UTF-8 。
- 编译规则一旦确定,最好新建一个类调试,不然会旧类引起冲突,自找麻烦。
- 尝试各种修改源文件的操作最好提前备份,以免文件损坏。
- 重装解决90%的问题,但是剩下的10%需要耐心学习。
具体的操作百度必应都能给出来,但是大体思路和上面四点建议不要冲突,不然就是南辕北辙。这里真的感谢互联网的搜索引擎们!
编译环境的事告一段落,下面讲讲我有关编译器的思考 。
这里先列举一下目前主流的java编译器
1:eclipse
最大的优点是免费,而且插件生态很好(我没用过,据说能通过插件实现c++和python等开发工作),是早些年企业的绑定编译器,快捷键一言难尽,总比没有好。这里分享一个我最常用的快捷键:syso alt+/ 这个能快速打出system.out.println();习惯了甚至比c语言的printf();还方便。
2、Idea
全称为IntelliJ IDEA,是业界公认的最好的开发Java的IDE之一,插件又多又强。官网下载提供旗舰版30天试用,要想购买的话请看下图。。。注意价格是美刀。。。社区版虽然免费,但是懂的都懂,功能和eclipse五五开,还占内存。所以最终还是要投靠旗舰版的。目前企业都喜欢用idea,了解了解也是好事,到时候入了公司也不至于从0开始(苦笑)。idea的快捷键可以说非常实用,常用的有psvm回车,sout回车 前者是主函数框架的快捷键,省去了写main函数的麻烦;后者是输出的快捷键,和上面eclipse的syso一样方便。
3、Notepad++
这个软件的优点非常多,首先,这也是免费的,而且支持宏(我超,挂!)。其次,还支持扩充功能的模组(我超,挂的模组!)支持目前所有主流的计算机编程语言。但是没有语法检查,错了它就开摆;也没有注释解析,重看的机会很少,存在很多上位替代,不是编译程序的最优解,但是理解成记事本的加强版还是可以的,毕竟记事本真的是一无所有。
4、VScode
全称是Visual Studio Code,当年c语言老师上课提了一嘴,和Notepad++一样具有多平台的特性,支持c#、c++、python等多种开发语言(不过需要安装,一门语言大概多装几个G)。暑假接触过,后来太占内存被迫卸载了。。。
总结可以看到,每个编译器都保持着微妙的平衡(虽然idea旗舰版是真的nb)不必太去在意编译器的选择,有总比没有强。优先磨炼的是代码水平,java多平台可移植的特性也让代码想去哪就去哪。各编译器都有自己的快捷键和功能需要自己去挖掘和探索,文中列举的不过是我常用的几个简单快捷键,评价的也是就个人体验而非代表学生群体,如有不同欢迎补充。
正如五月是呜蜩(wū tiáo)之月,蝉鸣将至。这里小小的记录第一次解答群里的问题,也希望大家能够踊跃提问(学时学时快到碗里来!)。还有啊,群是学校群,一般人不能进来哒,所以别问群号进来捣乱了。最后也祝大家编程越学越好,早日成为大佬!



