笔者在哈尔滨工业大学计算学部大二年级就读。《软件构造》是我们大二下学期开设的一门课程,其主题是“开发高质量的软件”。
该课程需要使用Java语言开发软件。在开课前的一两个月,我开始学习Java语言,逐渐理解了Java语言编程的基本逻辑,体会到了它在程序构成和编程思路上与已经相对熟悉的C语言的不同之处。
C语言是面向过程的,程序的基本运行逻辑就是逐条执行指令。一些支持面向对象的语言,如C++,Python,也支持以类似C语言这种面向过程的形式写程序,而Java则是“纯粹”的面向对象语言,有Java程序,必有类(Class),这大概就是Java语言给我印象最深的特点。
Java的语法跟C语言有些相似,变量定义,基本运算,划分程序结构层次的大括号,语句末的分号,都跟C语言几乎一样,循环、分支、switch的写法也和C十分相近。由于笔者之前用C语言较多,基本语法方面很快就熟悉了。
Java的面向对象编程,是C语言不具备的特性。Java的所有函数(Java里更习惯称为“方法”),都必须写在类中(笔者所知范围内如此,如有例外,欢迎在评论区指正)。面向对象的编程思想,让笔者感到十分耳目一新。个人猜想,面向对象的编程方法脱胎于C语言中的“结构体”,至少灵感来源是这里。
通过学习,笔者熟悉了Java语言的基本语法,能够编写简单的Java程序,为《软件构造》课程,特别是实验,打下了一点基础。