JAVA语言

JAVA语言

王志文 主讲教师
院校  西安交通大学 开课周期  2017-08-09 ~ 2017-10-31 语言  汉语
课程周数  9 每周学习时间  4小时左右/周 已报名人数  471

免费

¥0.00¥ 0.00

课程简介 展开

Java是美国SUN公司1995年推出的面向对象的程序设计语言,它充分考虑了互联网时代的特点,在设计上具有跨平台性、面向对象、安全等特性,因此一经推出就受到IT界的广泛重视并大量采用,同时也成为教育界进行程序设计教学的一门重要编程语言。

《Java程序设计》是面计算机类、软件工程类、网络安全类、自动化类等专业的一门专业技术必修课,涉及计算机体系结构、面向对象编程、多线程处理、网络通信以及分布式程序设计等内容,通过本课程的学习,学生能够了解Java语言特征、常见的Java类库以及面向对象程序设计思想,为后续开发高级Java应用程序奠定坚实的技术基础。

 

学习目标 展开

       通过本门课程的学习可以使学生掌握Java语言的基本语法和编程规范;尤其是掌握用Java语言进行网络编程的技巧;同时Java语言是一门面向对象的语言,通过学习可以掌握用面向对象进行编程的思想和实践,使学生成为一名合格的Java程序员。

导学 展开

1. 理解课程基本概念

Java程序设计与其它编程语言相类似,有很多基本编程规范及概念;只有理解这些基础知识之后方可编写程序。

2. 认知计算机系统对Java程序的影响

本课程的学习能够让学生学会基本的Java编程知识,会编写Java程序;但要想编写高质量的Java程序,必须深入理解计算机系统的软硬件资源对程序的影响,如多CPU对线程的影响、IO设备访问对程序性能的影响、网络连接及通信方式对程序的影响、数据库连接与SQL语句对程序的影响等内容繁多,无法在本课程中全面涉及。学生只能在其它相关课程学习中理会其与Java程序间的关联。

3. 强化动手实践

理解Java基本术语和编程规范并非就会编写程序,会写程序未必就能够写出高质量程序,会写一个领域的程序并非就能够编写另外领域的程序。究竟如何才能编写不同领域的高质量程序呢?答案就是强化编程实践,幸运的是,学习Java编程只需要一台普通PC即可,学生下载各种免费或开源的开发环境及应用支撑平台来编写各种应用程序。诚然,在自己动手之前,先阅读合适的例程代码以便快速入手。


适用对象 展开

计算机、软件工程、自动控制等相关专业的大三、大四本、专科生。

学时数 展开

课程总学时数为36,每章4个学时。

课程大纲 展开

第01章   Java概述
       01   Java发展史
       02   Java语言特征
       03   Java平台
       04   Java运行机理
       05   Java开发环境
       06   JDK开发环境构建
       07   Java程序种类
       08   APPlication开发
       09   Applet开发
       10   JSP开发
第02章   Java语言基础
       01   标识符
       02   数据类型
       03   基本数据类型转换
       04   对象数据类型转换
       05   Java常量
       06   Java变量
       07   Java字符
       08   算术运算符
       09   关系运算符
       10   逻辑运算符
       11   赋值运算符
       12   条件运算符
       13   其它运算符
       14   运算符优先次序
       15   Java表达式
       16   If-else
       17   Switch
       18   While与Do-while
       19   For
       20   Break
       21   Continue
       22   Return
第03章   面向对象技术
       01   面向对象程序设计基础
       02   Java类定义
       03   变量定义
       04   方法定义
       05   变量作用范围
       06   对象生命周期
       07   类的继承
       08   Super
       09   This
       10   构造方法
       11   方法重载overloading
       12   方法覆盖overriding
       13   抽象类
       14   内部类
       15   接口定义
       16   接口实现
       17   程序包概念
       18   创建与导入程序包
       19   常用程序包
第04章   数组与字符串
       01   一维数组定义
       02   一维数组使用
       03   多维数组
       04   向量定义
       05   向量元素操作
       06   String构建
       07   String操作
       08   StringBuffer
第05章   I/O流
       01   流的定义
       02   流的继承关系
       03   字节流
       04   字符流
       05   标准I/O流
       06   File类
       07   RandomAccessFile类
       08   对象序列化
       09   自定义对象序列化
第06章   异常处理
       01   什么是异常
       02   异常处理语句
       03   Finally语句
       04   throws异常
       05   throw异常
       06   异常类型
       07   自定义异常
第07章   GUI与事件处理图形环境
       01   颜色与字体
       02   AWT组件
       03   Swing组件
       04   组件容器
       05   基本组件
       06   布局管理
       07   事件处理过程
       08   事件处理方式
       09   事件接口
       10   菜单处理
       11   Applet执行
       12   Applet控制
       13   Applet安全制约
第08章   多线程
       01   线程概念
       02   Thread类
       03   Runnable接口
       04   线程生命周期
       05   线程同步
       06   Synchronized关键字
       07   线程通信
       08   线程调度
       09   线程组
       10   护线程
第09章   网络编程
       01   TCP/IP网络基础
       02   InetAddress类
       03   URL构建
       04   URL通信
       05   Socket与ServerSocket
       06   Socket通信框架
       07   并发服务器
       08   DatagramPacket
       09   DatagramSocket
       10   数据报通信框架

教学日历 展开

周次

教  学  内  容

课外作业

建议时长

1

Java语言起源、Java程序特征与执行流程、与C/C++的区别、Java版本分类及应用场合;开发环境配置;

01章作业

2

2

Unicode符号集、变量、常量、表达式与运算符

02章作业

4

3

对象与字符串运算符、控制结构、面向对象基础

03章作业

3

类的定义与使用、修饰符作用、对象生命周期

3

方法重载与覆盖、抽象类与接口、程序包

2

4

数组、向量、字符串处理

04章作业

3

5

流的定义、流的分类及特点、基本I/O流、文件属性操作与内容读写

05章作业

4

6

例外产生原因、例外的捕获与处理、自定义例外、抛掷例外

06章作业

3

7

AWT类层次结构、容器构件、布局管理器定义与使用

07章作业

2

事件处理模型、事件传递机制、GUI构件

2

Applet模型、Applet程序执行过程、Applet程序约束条件、声音/图像处理

1

8

多线程原理与基本特征、多线程创建与应用

08章作业

2

多线程生命周期控制、线程调度、线程同步

2

9

Socket编程基础知识、面向连接编程、无连接编程、并发服务器设计与实现

09章作业

3


教师团队 展开

王志文.jpgxiaqinvisa_副本3.jpg

西安交通大学《Java程序设计》课程组是国家级程序设计、计算机网络与系统结构课程优秀教学团队的重要组成部分,其中的负责人郑庆华教授为陕西省高等学校教学名师获奖者、国家级优秀教学团队带头人。课程组主要成员有王志文、夏秦、陈妍等,所有成员均是国家级教学基地和优秀教学团队成员,有着丰富的教学经验和Java编程经历,可以充分利用教学基地和实验示范中心现有各种有利的教学条件和设施。

王志文副教授承担课程的教学设计和视频录制,夏秦老师负责章节习题及课程模拟测试题;课程组其他成员协助课程教学的实施。

 

先修知识 展开

大学计算机基础、数据结构

 

如何获得证书 展开

总评成绩按以下比例分配:

1. 章节作业:客观题,占50%.

2. 课程考试:50%,期末将进行课程考试,题型包括客观题(40%)与主观题(10%

完成课程学习并考核合格可获得课程认证证书,标准为:60-84分获得合格证书;85-100分获得优秀证书,证书由任课教师签发。


学习方法 展开

1.  浏览课程教学大纲及教学日历,了解课程的内容结构及进度安排,结合自己的实际情况合理安排时间。

2.  跟着视频逐个学习和理解知识点是学好Java程序设计的关键,对于一些重点和难点内容,建议多次重复看;若存在疑惑,可在互联网上就疑惑点进行查询学习。

3.  作为编程实际性强的课程,除了完成本课程在课后所附的基本练习题外,阅读教材给出的编程源代码,认真消化理解。

4.  课程给出的例程是为讲解特定知识点准备的,学生可以尝试改造和扩展例程代码以提高自己的程序阅读能力和编程能力。


学习形式 展开

在线自学所有课程章节,包括课程视频、课后作业练习等。

另外,还可以与课程教师进行网络答疑。

参考教材 展开

《Java程序设计》(慕课版),龚炳江、 文志诚主编,人民邮电出版社,出版时间:2016年4月

《Java程序设计》(第3版,新世纪计算机基础教育丛书),谭浩强主编,清华大学出版社, 出版时间:2013年4月


课程拓展资源 展开

       拓展资源提供了10个Java开发相关的网站,这些网站质量都很好,它们提供了业界信息以及一些很棒的讲座, 还能解答常见开发过程中遇到的问题、面试问题等。

1. Stackoverflow(http://stackoverflow.com/)

Stackoverflow可能是编程界中最流行的网站了,该网站有成千上万个好问题和答案。学习API或者编程语言,通常依赖于代码示例,stackoverflow就可以提供大量的代码片段。Stackoverflow的另一个优点在于它的社交性。你可以在一些特定的标签下查看问题,比如“Java”、“regex”,你就会看到哪些是高频问题。这对于学习,以及Java博主书写热门话题都是一种非常好的资源。

2. DZone(http://www.dzone.com/links/index.html)

这是一个非常有趣的网站,有相当多的开发者在这个网站上分享他们的博客文章。就像一场冒险一样,在这里,你永远不知道下一秒会看到什么内容。

3. LeetCode(http://leetcode.com/)

如果有Java方面的面试问题,例如“在Java中,内存中的数组是什么样的”,你可以从很多Java教程中找到答案。但是,遇到类似于“如何将SortedArray转化成一个BalancedTree”这样的问题,你就应该去LeetCode了。LeetCode包含一系列算法问题, 它能为有关信息技术的面试提供一个社会性的平台。这个网站最好的地方就是,它可以通过大小不同的数据在线检查你的代码是否正确。很多人认为,面试成功的关键在于重复这三个重要步骤:编码→阅读→讨论。

4. Java SE技术文档(http://docs.oracle.com/javase/)

这个网站包含了在使用Java SE API时会用到的所有文档,即使你是Java开发牛人,我敢肯定在这里你仍能发现一些有用的东西。比如,你可以阅读一些像“Java类的本质”、“部署”这样的教程。

5. Github(https://github.com/)

你也许知道可以免费将你的项目托管在哪,但你不一定知道它还是一个学习当今流行的Java库和框架的优秀资源。比如,你想学 Spring MVC Framework,你可以搜索并且找到一些开源的项目。遵循“照葫芦画瓢”的原则,你能够通过实例快速的学习框架,尤其是你已经具有使用类似框架的经验。 

6. Coursera(https://www.coursera.org/)

这是有关视频讲座的最好网站,在这里你可以找到许多顶尖学校的著名教授的优秀计算机科学课程。这些教授中,有些甚至是一些计算机科学领域的发明者。 

7. Java World(http://www.javaworld.com/)

这个网站包含了大量的Java教程,涉及各种各样的话题。其中很多文章都写的很好,并且有图片、插图进行说明。它可以被用来当作深度学习的教科书。

8. IBM developerWorks(http://www.ibm.com/developerworks/java/)

这里有很多由IBM公司的人写的非常不错的文章。 

9. Wikipedia 维基百科(http://en.wikipedia.org/wiki/) 

这个网站是查询或学习几乎所有概念的最好的资源之一。例如,作为一个资深的Java开发人员,你可能只是想了解一些概念并不想深度研究。这里是一个可以免费查询最新信息的好地方,例如“什么是面向服务的编程”。另外,它还能为你的写作提供大量素材。比如,同一个词在不同的领域可能会有完全不同的含义。有时,研究这些词在不同领域的不同含义是非常有意思的。 

10. Program Creek(http://www.programcreek.com/) 

与以上几个网站相比,Programcreek.com在规模上要小很多。但是规模小也有优点,它在维护方面做的更好,读起来更有趣。在这里,你可以找到其他任何网站都不曾涉及到的话题,而且几乎每篇文章都包含漂亮的插图或者示例代码。它包含了来自不同领域的人发表的文章(科研、工业),并且经常为Java开发者提供优质材料。希望有一天,它也会出现在一些人的网站前十名排行名单中。 


FAQ 展开

1. 如何才能学好java编程语言?

答: Java编程是一门实践性很强的课程,学会基本的Java语言编程规范及程序开发流程表明你已近学会编写、调试、部署和运行java程序,这能够满足多数情况下的Java应用编程需要。但对于性能要求较高的应用,Java基本编程知识不足以应付,此时必须全面了解计算机系统(包括软硬件)的工作机理,才能写出高性能的Java应用程序。

2. 目前市面上到处提的都是Java,它包含哪些内容?

答:Java编程及应用的确在当前的软件界非常普遍。首先,Java有三种不同的平台架构,即面向消费类电子设备(智能手机、PDA等)的JSME、面向普通、标准桌面应用的J2SE以及面向企业的复杂综合应用J2EE,这意味着几乎所有的软件编程领域都能够看到Java的踪影。上述三种架构使用的是相同的Java编程规范,但各自使用的API类库不一样,且软件的开发流程、部署方式及运行机理都不相同。