Java程序设计

主讲教师: 郑如滨 副教授 / 集美大学

教学进度:
  • 预报名
  • 进行中
  • 已结束

学时安排:56学时

学分:3.5分

主要讲解Java程序设计。课程不仅包含讲授理论的视频,还包含在线编程练习。从理论与实践两个方面带领学生进入Java面向对象编程世界。课程每章均设有章节测验,并提供完整课件的下载,方便自学。课程中的丰富资源可为教师开展SPOC教学提供有力支撑。本课程制作精良、内容丰富,为福建省精品线上一流课程。
  • 10917966

    累计页面浏览量

  • 19800

    累计选课人数

  • 23634

    累计互动次数

2025-10-17 23:48 郑如滨 集美大学 在Java程序设计课程中提问:

一个网页文件(html)包含很多链接。如何结合使用Java流技术与jsoup编程抽取出其中的所有链接?尝试按步骤说明

  • 01-09 14:55 黄誉清

    核心流程:流读取 HTML 内容 → Jsoup 解析文档 → 选择器提取链接;流的作用:安全读取本地 HTML 文件(处理编码、缓冲提升效率);Jsoup 核心:select("a[href]")筛选链接标签,attr("href")提取链接地址
  • 查看全部(121条)

2025-10-17 23:41 郑如滨 集美大学 在Java程序设计课程中提问:

使用缓冲流读写可能会造成数据丢失。为什么?要怎么解决?有哪些典型的缓冲流?

  • 01-09 14:55 黄誉清

    数据丢失根源是缓冲区数据未刷入目标端,核心解决是刷新 / 关闭流;典型缓冲流分字节(BufferedInputStream/OutputStream)和字符(BufferedReader/Writer)两类;最优实践是使用try-with-resources自动管理流的关闭。
  • 查看全部(118条)

2025-10-17 23:43 郑如滨 集美大学 在Java程序设计课程中提问:

什么类可以将字节流转化为字符流?怎么利用这个类怎么解决乱码问题,尝试给出示例代码。

  • 01-09 14:55 黄誉清

    转换类:InputStreamReader(字节输入流转字符输入流)、OutputStreamWriter(字节输出流转字符输出流)。解决乱码核心:创建转换类时显式指定字符编码(如 UTF-8/GBK),而非使用系统默认编码。示例代码:import java.io.*;public class StreamConvert {
  • 查看全部(118条)

2025-10-17 23:39 郑如滨 集美大学 在Java程序设计课程中提问:

什么时候使用字节流?什么时候使用字符流?

什么时候使用字节流?什么时候使用字符流?

  • 01-09 14:55 黄誉清

    字节流(InputStream/OutputStream):处理二进制数据(如图片、视频、音频、压缩包、可执行文件等),或需要逐字节操作数据时使用;字符流(Reader/Writer):处理文本数据(如.txt、.java、配置文件等),底层会自动处理字符编码(如 UTF-8、GBK),避免乱码。
  • 查看全部(118条)

2025-10-17 23:47 郑如滨 集美大学 在Java程序设计课程中提问:

NIO.2对NIO的主要改进有哪些?

  • 01-09 13:50 吴铭义

    NIO.2 大幅提升了文件处理的易用性、功能完整性和可扩展性,使 Java 的文件 I/O 更现代、更高效,也更适合复杂的文件系统操作。
  • 查看全部(122条)

2025-10-17 23:40 郑如滨 集美大学 在Java程序设计课程中提问:

Java中定义的三个标准输入输出流是什么?它们分别是什么?

Java中定义的三个标准输入输出流是什么?它们分别什么?有什么用?

  • 01-09 13:25 吴铭义

    Java 的三个标准流是System.in(输入)、System.out(正常输出)、System.err(错误输出);System.in用于读外部输入,System.out/System.err用于写输出,其中err专门处理错误信息且输出更即时;
  • 查看全部(116条)

2025-10-17 23:38 郑如滨 集美大学 在Java程序设计课程中提问:

什么时候应该使用输入流、什么时候应该使用输出流?

  • 01-09 13:25 吴铭义

    输入流:程序需要读取 / 接收外部数据(文件、键盘、网络等)时使用(数据→程序);输出流:程序需要写入 / 发送数据到外部(文件、控制台、网络等)时使用(程序→数据)。
  • 查看全部(119条)

2025-09-01 16:48 郑如滨 集美大学 在Java程序设计课程中提问:

思考:Comparable接口与Comparator接口的区别

1.Comparable与Comparable接口都可以实现对象之间的比较。那他们之间的区别是什么? 2.可选:尝试使用代码说明他们之间的区别。

  • 01-05 21:20 李秀清

    1. 实现位置&耦合度:Comparable 是类内部实现,排序逻辑和实体类耦合,是对象“自带”排序;Comparator 是类外部实现,不修改原类,排序逻辑独立解耦。

    2. 排序规则:Comparable 定义自然排序,一个类只能实现一种默认排序规则,不可更改;Comparator 定义定制排序,一个类可搭配多个Comparator,灵活切换多种排序逻辑。

    3. 核心方法&使用:Comparable 重写int compareTo(T o)(自身与参数对象比较),支持Collections.sort(集合)直接排序;Comparator 重写int compare(T o1,T o2)(第三方比较两个对象),需作为参数传入Collections.sort(集合, 比较器) 。

    4. 包路径:Comparable 位于java.lang(默认可用,无需导入);Comparator 位于java.util(使用需手动导入)。

    5. 适用场景:Comparable 适用于类有固定排序规则(如Integer、String默认实现);Comparator 适用于需临时排序、多规则排序,或无法修改原类源码的场景。
  • 查看全部(26条)

2025-09-01 15:14 郑如滨 集美大学 在Java程序设计课程中提问:

思考:购物车如何存放物品的设计

对于购物车程序 1. 你会使用数组还是集合框架中的某个类来存放放入购物车的商品?请写出相应的接口及实现类。 2.为什么要使用该接口与实现类? 3. 思考:购物车与所放入物品之间的关系应该是一个什么样的关系(1对1还是1对多)

  • 01-05 21:18 李秀清

    1. 接口及实现类选择List<Product> cart = new ArrayList<>();选择: List 接口 + ArrayList 实现类2. 选择原因 1)动态扩容 - 购物车商品数量不固定 2)有序性 - 保持添加顺序,方便用户查看 3)快速随机访问 - 通过索引快速访问商品 4)内存效率 - 相比LinkedList,ArrayList更节省内存3. 关系类型为一对多关系一个购物车(1)可以存放多个商品(多)一个商品可以在多个购物车中出现这是典型的一对多关系
  • 查看全部(22条)

2025-09-01 15:14 郑如滨 集美大学 在Java程序设计课程中提问:

思考(可选):Collections

1. Collection与Collections有什么区别? 2. Arrays与Collections有什么区别?

  • 01-05 00:38 原萧雅

    1. Collection是接口,Collections是工具类Collection 是集合框架的根接口定义集合的基本方法(add、remove等)Collections操作集合的静态工具类提供排序、同步等方法2. Arrays操作数组,Collections操作集合Arrays是操作数组:int[]、String[]等主要功能:排序、搜索、转换Collections是集合工具类:List、Set等主要功能:排序、同步包装、查找最值。
  • 查看全部(19条)

常见问题

  • 1.我该如何学习这门课程?

    (1)首先您要注册一个学银在线的账号。

    (2)您需要有一定的上网条件,能够流畅的观看教学视频。在观看的过程中,您可以选择在PC端登陆我们的网页, 也可以选择下载我们的app学习通,通过手机客户端来学习。

    (3)您一旦报名选择了课程,我们的课程主讲老师或课程团队会通过通知的形式给您发送课程有关的消息,同时会抄送您的邮箱,请您及时查收。

  • 2.我在学习过程中遇到问题了,怎么办?

    您可以通过以下几种方式获取帮助:

    (1)在课程群聊中发布求助信息,说不定和你一起学习这门课的小伙伴就能够解决你的问题呢;

    (2)在课程讨论区留言,课程团队看到后将会及时回复。

    (3)联系我们的客服,或者随时给我们发邮件,邮箱地址:xueyinkf@chaoxing.com。

  • 3.我是新手,能否给我一些学习建议?

    (1)我们的课程采用MOOC的方式授课,因此您可以自由安排您的学习时间、学习地点。但我们仍旧希望您每周能都有固定的时间持续进行本课程的学习,根据人的记忆曲线显示这种规律的学习方式能够最大限度的提升您的学习质量。

    (2)学习的过程比较容易,为了检验您的学习成果,我们的课程团队会在课程章节结束后布置测验或作业,希望您尽可能的按时独立完成。如果有没有掌握的知识点,您可以继续回看复习课程。

    (3)希望您能够积极参与课程的讨论,与各位学习者一起煮酒论英雄。在讨论的过程中,不光可以对课程所学内容温习内化,还能互相碰撞出思想的火花,相信您一定会有额外的收获。

  • 4.课程会不会很难、很枯燥?

    (1)我们的课程都是老师经过精心设计拍摄制作而成,并且由于是MOOC的方式,所以课程拆分成了不同的知识点,学习起来一点也不费劲。

    (2)我们的课程多采取理论结合实际的授课方式,课程中也有许多案例的呈现,相信会给学习者带来诸多方面的启发。我们也将力求做到深入浅出,支持学习者将研究发现转化为实践,改进自身教学。