课程概况
程序设计是一门基础课程。对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题。
Java是近10年来最流行的编程语言,在各类编程语言排行榜上长年占据前两名的位置。
本课程是以Java语言来讲授程序设计的入门知识,而非具体教授Java语言,关于Java语言的全面知识,还需要学习本课程的后续课程——“Java语言程序设计进阶”。
程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会。你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法。在这里所提供的,只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力。
为了学习编程,你需要有一台计算机,安装必要的编程软件。无论是MS Windows、Mac OS X还是Linux,都有适合Java语言编程的软件。
课程大纲
第一周:程序是什么
1.1 计算机与编程语言
计算机怎么做事情的,编程语言是什么,计算机的思维方式是怎样的。
1.2 Java语言
为什么是Java:Java语言在工业界占有重要地位,是最流行的编程语言;关于Java语言和版本的极其简单的历史
1.3 第一个程序
Eclipse是绝大多数人的唯一选择;如何在Eclipse中编辑、编译和运行程序;详解第一个程序:程序框架、输出、出错怎么办;做点计算:如何让程序输出算术结果
第二周:做点计算
2.1 数据是用变量来表示的
变量定义:变量是做什么的,如何定义一个变量;变量赋值与:a=b表示把b的值赋给a,而不是它们相等;变量输入:如何让程序读入用户输入的数字
2.2 计算是由表达式来完成的
表达式:运算符和算子,取余计算,程序就是数据加计算;浮点数:整数运算的结果只有整数部分,不然就要用浮点数
;运算符优先级:优先级、结合关系、赋值运算符;复合赋值和递增递减
第三周:做点决定
3.1 做判断
做判断:if语句根据条件决定做还是不做;判断的条件 关系运算,做比较的运算符; 否则的话:如果条件不成立呢?; 逻辑运算:对比较的结果进行与、或、非运算
嵌套的if-else:在if或else后面要执行的还是if语句,就成了嵌套; 级联的if-else if:像分段函数这样的程序就可以写成级联的if; if-else的常见错误:没有{}、多了;、=和==这些都是常见的错误
3.2 分支
多路分支:switch-case语句
第四周:不断地重复
4.1 重复做事情
循环:有些事情就得用循环才能解决;while循环:就像if一样,条件满足就不断地做后面大括号里的句子;do-while循环:不管三七二十一,先做循环内的句子再判断条件
4.2 循环计算
猜数游戏;算平均数;整数求逆
第五周:循环控制
5.1 for循环
for循环:这是最古老的循环; 循环的计算和选择:如何计算循环的次数,如何选择不同的循环
5.2 循环控制
循环控制:如何用break和continue来控制循环 嵌套的循环:在循环里面还是循环; 从嵌套的循环中跳出:带标号的break和continue
5.3 循环计算
前n项求和;整数分解;求最大公约数
第六周:函数
6.1 初见函数
函数的定义和调用
从函数中返回
6.2 使用函数
参数传递:调用函数的时候,是用表达式的值来初始化函数的参数
6.3 本地变量
本地变量:定义在函数内部的变量是本地变量,参数也是本地变量
函数庶事:一些有关函数的细节问题
第七周:数组
7.1 数组
初试数组
数组的使用:如何定义和使用数组,数组的下标和下标的范围
7.2 数组变量
数组变量是数组的管理者而非所有者 数组变量的赋值和比较是怎么回事
7.2 数组运算
数组的例子:统计个数 数组例子:素数
二维数组
第八周:字符串
8.1 字符串类型和变量
字符串是系统类库中的一个类,字符串变量是字符串的管理者而非所有者
8.2 字符串操作
各种用于字符串操作的函数
预备知识
无
参考资料
Java语言程序设计教程(第2版),翁恺