Java程序设计

  • 4.7
Approx. 31 hours to complete

Course Summary

Learn Java programming and design principles in this course, with a focus on object-oriented programming and software design patterns.

Key Learning Points

  • Learn Java programming from the ground up
  • Understand object-oriented programming and software design patterns
  • Apply what you learn to real-world projects

Related Topics for further study


Learning Outcomes

  • Develop a strong foundation in Java programming
  • Understand object-oriented programming and design principles
  • Apply software design patterns to real-world projects

Prerequisites or good to have knowledge before taking this course

  • Basic understanding of programming concepts
  • Access to a computer with Java development environment

Course Difficulty Level

Intermediate

Course Format

  • Online self-paced course
  • Video lectures
  • Programming assignments

Similar Courses

  • Java Programming and Software Engineering Fundamentals
  • Java Programming Basics

Related Education Paths


Notable People in This Field

  • James Gosling
  • Martin Fowler

Related Books

Description

《Java程序设计》课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试等方式提高代码的质量。

本课程要求学习者有一定的程序设计基础,如学过C或者C++语言。

Outline

  • Java语言与面向对象的程序设计
  • 1_1.1_Java历史与发展
  • 1_1.2_Java语言的特点:C++--
  • 1_1.3_Java运行机制:跨平台的原因
  • 1_2.1_面向对象程序设计
  • 1_3.1_(附加)James_Gosling谈Java
  • 学习准备篇--教材与参考资料
  • week1 讲义
  • Week1 作业
  • 简单的Java程序
  • 2.1 Java程序的类型:Java程序的类型及构成
  • 2.2 开发Java 程序的基本步骤:程序的编译与运行
  • 2.2 开发Java 程序的基本步骤:applet的编译与运行
  • 2.2 开发Java 程序的基本步骤:JDK中的其他几个工具
  • 2.3 基本输入输出编程:文本界面的输入与输出
  • 2.3 基本输入输出编程:图形界面的输入与输出
  • 2.3 基本输入输出编程:Applet的输入输出
  • 2.4 Java编程工具
  • week2 讲义
  • week2 示例
  • Week2 作业
  • 数据运算、流控制和数组
  • 3.1 数据类型、变量与常量
  • 3.2 运算符与表达式: 运算符
  • 3.2 运算符与表达式: 表达式及查看反汇编的代码
  • 3.3 流程控制语句: 简单语句
  • 3.3 流程控制语句: 分支语句——if及switch
  • 3.3 流程控制语句: 应用示例及窗体设计器
  • 3.3 流程控制语句: 循环语句
  • 3.3 流程控制语句: 特殊控制语句
  • 3.4 数组: 数组的定义和使用
  • 3.4 数组: 多维数组及示例
  • week3 讲义
  • week3 示例
  • Week3 测验作业
  • 类、包和接口
  • 4.1 类、字段、方法: 类、字段、方法、构造方法
  • 4.1 类、字段、方法: 使用this
  • 4.2 类的继承: 类的继承、字段与方法的增加与覆盖
  • 4.2 类的继承: 使用super
  • 4.3 包: 包的含义及使用
  • 4.4 访问控制符: public,protected,private及默认
  • 4.5 其他修饰符: static, final, abstract
  • 4.6 接口: 接口的定义及实现
  • 4.6接口: 接口中的常量、枚举、Java8对接口的扩充
  • 4.7语法小结:类定义及java文件的内容
  • week4 讲义
  • week4 示例
  • Week4 测验作业
  • 深入理解Java语言
  • 5.1 变量及其传递
  • 5.2 多态和虚方法调用:多态和虚方法调用
  • 5.2 多态和虚方法调用:非虚的方法调用
  • 5.3 对象构造与初始化:对象构造与初始化
  • 5.3 对象构造与初始化:***构造方法的执行过程(*较高要求)
  • 5.4 对象清除与垃圾回收
  • 5.5 内部类与匿名类:内部类
  • 5.5 内部类与匿名类:***嵌套类(*较高要求)
  • 5.5 内部类与匿名类:局部类及匿名类
  • 5.6 Lambda表达式:***Lambda表达式(*较高要求)
  • 5.7 ***装箱、枚举、注解(*较高要求)
  • 5.8 没有指针的Java语言:***引用与指针(*较高要求)
  • 5.8 没有指针的Java语言***相等还是不等(*较高要求)
  • week5 讲义
  • week5 示例
  • Week 5测验作业
  • 异常处理
  • 6.1异常处理: 异常的抛出与捕获
  • 6.1异常处理: 受检的异常
  • 6.2 自定义异常
  • 6.3 断言及程序的测试
  • 6.4 程序的调试
  • week6 讲义
  • week6 示例
  • Week 6测验作业
  • Midterm Examination 期中考试
  • 工具类及常用算法
  • 7.1 Java语言基础类:Object、Math、System类
  • 7.2 字符串和日期:String及StringBuffer类
  • 7.2 字符串和日期:日期类
  • 7.3 集合:Collection API及List
  • 7.3 集合:Stack及Queue
  • 7.3 集合:Set及Map
  • 7.4 排序与查找
  • 7.5 泛型:(***)自定义泛型(*较高要求)
  • 7.6 常用算法:遍试、迭代
  • 7.6 常用算法:递归、回溯
  • week7 讲义
  • week7 示例
  • Week 7测验作业
  • Java的多线程
  • 8.1 线程的创建:创建线程的几种写法
  • 8.1 线程的创建:多线程编程示例
  • 8.2 线程的控制:线程的状态与控制
  • 8.3 线程的同步:(***)线程的同步控制(*较高要求)
  • 8.4 并发API:原子变量及线程安全的集合
  • 8.4 并发API:线程池及Timer
  • 8.5 流式操作及并行流:(***)流及并行流(*较高要求)
  • week8 讲义
  • week8 示例
  • Week 8测验作业
  • 流、文件及基于文本的应用
  • 9.1 输入输出流:流及分类
  • 9.1 输入输出流:不同内容的读写
  • 9.1 输入输出流:应用示例:背单词
  • 9.1 输入输出流:应用示例:网络流
  • 9.2 文件及目录
  • 9.3 正则表达式:正则表达式的基本写法
  • 9.3 正则表达式:正则表达式的基本应用
  • 9.3 正则表达式:应用示例:网络爬虫
  • week9 讲义
  • week9 示例
  • Week 9测验作业
  • 图形用户界面
  • 10.1 组件:图形用户界面组件及分类
  • 10.2 实现界面的三步曲:组件、布局、事件
  • 10.3 布局管理:常用的几种布局
  • 10.4 事件处理:事件及事件监听器
  • 10.4 事件处理:实现监听器的几种方法
  • 10.4 事件处理:应用示例--排块游戏
  • 10.4 事件处理:应用示例--小小计算器
  • 10.5 常用组件的使用:常用组件
  • 10.5 常用组件的使用:应用示例--文本编辑器
  • 10.6 Applet:小应用程序
  • week10 讲义
  • week10 示例
  • Week 10测验作业
  • 网络、多媒体、数据库编程
  • 11.1 网络编程:网络信息获取
  • 11.1 网络编程:应用示例--获取建议词
  • 11.1 网络编程:使用Socket编程
  • 11.2 多媒体编程:绘图及图像
  • 11.2 多媒体编程:音频及视频的播放
  • 11.3 数据库编程:数据库基础知识
  • 11.3 数据库编程:JDBC对数据库的访问
  • 11.3 数据库编程:编写基于数据库的应用
  • 11.3 数据库编程:应用示例--小小通讯录
  • week11 讲义
  • week11 示例
  • Week 11作业
  • 写好程序及一些深入话题(*)
  • 12.1 写好程序的一些经验:写好单词、语句、函数及类
  • 12.2 重构:重构的时机与方法
  • 12.3 设计模式:设计模式及JDK中的应用
  • 12.4 反射:反射及应用
  • 12.4 反射:自定义注记
  • week12 讲义
  • week12 示例
  • Final Examination 期末考试

Summary of User Reviews

Learn Java programming with this course on Coursera. Users have praised the course for its comprehensive coverage and engaging instructor. Overall, the course has received positive reviews.

Key Aspect Users Liked About This Course

The instructor's engaging teaching style.

Pros from User Reviews

  • Comprehensive coverage of Java programming.
  • Engaging instructor who makes the material interesting.
  • Clear and concise explanations of complex topics.
  • Hands-on coding assignments that reinforce learning.
  • Great for both beginners and experienced programmers.

Cons from User Reviews

  • Some users found the pace of the course to be too slow.
  • The course does not cover advanced Java topics.
  • Limited interaction with other students and the instructor.
  • Some technical issues with the platform, such as video playback.
Chinese (Simplified)
Available now
Approx. 31 hours to complete
唐大仕
Peking University
Coursera

Instructor

唐大仕

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses