Java程序设计

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

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

学时安排:56学时

学分:3.5分

Java的使用越来越广泛,企业级Java应用已成为主流,安卓开发大量使用Java。本课程不仅包含讲授理论的视频,还包含在线编程练习。从理论与实践两个方面带领学生进入Java面向对象编程世界。本课程每章均有章节测验,并提供完整课件的下载,方便自学。课程中的丰富资源可为教师开展SPOC教学提供有力支撑。
  • 10688409

    累计页面浏览量

  • 20304

    累计选课人数

  • 23785

    累计互动次数

2022-02-25 16:14 郑如滨 集美大学 在Java程序设计课程中提问:

思考:识别异常类型

回答如下问题: 1.你觉得IndexOutOfBoundsException是RuntimeException还是Exception的子类?为什么? 2.查询JDK文档,下列代码哪一个函数抛出什么异常?需要捕获吗?为什么。 String fileName = "abc"; FileR

  • 2022-06-21 19:11 刘煌城

    1.RuntimeException的,数组下标越界属于JVM正常运行期间抛出的异常的超类,定义时无需声明,调用时无需捕获
    2.FileNotFindException,受检异常,要捕获,否之不能编译运行
    3、try{FileReader fileReader = newFileReaderfileName;} catchException e{ ...}1.RuntimeException的,数组下标越界属于JVM正常运行期间抛出的异常的超类,定义时无需声明,调用时无需捕获
    2.FileNotFindException,受检异常,要捕获,否之不能编译运行
    3、try{FileReader fileReader = newFileReaderfileName;} catchException e{ ...}
  • 查看全部(18条)

2022-02-26 21:15 郑如滨 集美大学 在Java程序设计课程中提问:

思考:ArrayList与LinkedList的区别

1. 如果想要像访问数组那样访问集合,适合使用什么接口及实现类? 2. 尝试阅读ArrayList与LinkedList代码,其内部分别使用什么方式来存储加到里面的元素?他们的get方法实现一样吗? 3. ArrayList与LinkedList共同之处有哪些?有何不同之

  • 2022-06-21 19:10 刘煌城

    1.Arraylist
    2.数组和链表,get方法不一样
    3.对于随机访问的get和set方法,ArrayList要优于LinkedList,因为LinkedList要移动指针。
    对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。
  • 查看全部(21条)

2022-02-26 20:48 郑如滨 集美大学 在Java程序设计课程中提问:

思考:说说DAO模式

DAO模式是接口的一个典型应用。 1.尝试用几句话说说DAO模式的好处。实现了什么与什么的分离? 2.使用搜索引擎搜索关键字"Java DAO",选出几句对你来说最有用的语句。尝试使用自己的话总结DAO模式的好处。 3.可选:编写一些DAO接口的代码。

  • 2022-06-21 19:09 刘煌城

    1. 实现了数据访问和业务逻辑的分离
    2.①DAO (DataAccessobjects 数据存取对象)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。
    ②DAO 模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离对上层提供面向对象的数据访问接口。
  • 查看全部(19条)

2022-02-23 14:25 郑如滨 集美大学 在Java程序设计课程中提问:

练一练(可选):使用git下载代码仓库

Java项目的目录结构一般要符合一定的规范。良好的目录结构应定义清晰、遵循约定。 这里给出一个参考的Java项目的目录结构:项目包结构模板Git地址(http://gitee.com/jmune/OnlineShop) 任务: 1. 使用git clone或者直接下载的方式

2022-02-23 14:10 郑如滨 集美大学 在Java程序设计课程中提问:

练一练:static关键字

1.代码阅读: class Circle{ private static int id = 1; private double radius = 0; public Circle(double r){ radius = r; }

  • 2022-06-21 19:07 刘煌城

    1.2句会出错,无法从静态方法引用非静态变量radius;
    2.jvm有类加载器,第一次加载类时执行类中的static域,jvm会专门划分一个内存区域给static程序块,可以成为静态区。属于这个类。this指针是指向类的对象,在实例化对象时jvm会在堆区分配内存给一个具体的对象,this指针指向这个对象。而类中的static域始终是在静态区分配内存,this指向堆区,所以不能调用。static是属于类的。this是对象指针。
  • 查看全部(23条)

2022-02-23 13:48 郑如滨 集美大学 在Java程序设计课程中提问:

思考:对象的初始化

1.构造方法有什么用?一般在构造方法中编写什么代码? 2.如果一个类有多个构造方法,创建对象时怎么确定调用哪个? 3.任何一个类都有无参数构造方法吗?一个类不编写构造方法可以吗? 4.新建对象,初始化块先执行还是构造方法先执行? 5.为什么有构造方法可以进行初始化工作,还需要

  • 2022-06-21 19:07 刘煌城

    1.构造方法作用:(1).构造出来一个类的实例 (2).对构造出来一个类的实例(对象)初始化。
    2.根据传参决定调用那个
    3.所有类都默认有一个无参构造函数;可以,这个类本身就有一个默认无参数的构造方法。
    4.static初始化块是在构造函数之前执行的,而且只执行一次,即类首次加载时。
    5.类体中只能定义实例变量和方法,不能直接写其它任何功能性的语句,赋值语句也不行(定义实例变量时显示初始化除外),但因为可以有初始化块,所以可以在初始化块中写入功能性语句,通常这样的语句是用来在初始化的时候起一些作用。
  • 查看全部(18条)

2022-02-23 13:48 郑如滨 集美大学 在Java程序设计课程中提问:

练一练:编写Circle类并分享你的代码

编写Circle类,包含radius(半径)属性和一些常用方法,如getArea、getRadius。 1. 增加一个无参数构造方法(函数)Circle()。设置radius的值,然后控制台输出“调用无参数构造方法”。 2. 增加一个有参数构造方法Circle(double radi

  • 2022-06-21 19:07 刘煌城

    class Circle:
    def __init__(self, radius):
    self.radius=radius
    def perimeter(self):
    return 3.14*2*self.radius
    def area(self):
    return 3.14*self.radius*self.radius
    circle=Circle(6)
    print('周长是{},面积是{}'.format(circle.perimeter(), circle.area()))
  • 查看全部(21条)

2022-02-25 16:01 郑如滨 集美大学 在Java程序设计课程中提问:

使用代码生成常见异常

在我们以前编写的程序中,肯定出现过各种各样的异常(NullPointerException、ArrayIndexOutOfBoundsException、NumberFormatException、ClassCastException、ArithmeticException )。 1.尝试使用

  • 2022-06-13 23:47 史雅馨

    1.String str = "这是测试用的字符串!";
    System.out.printlnstr.length;
    String str1 = null;
    System.out.printlnstr1.length;
    //产生 NullPointerException异常
    2.把调用某个方法的返回值直接赋值给某个引用,然后调用这个引用的方法。在这种情况下,如果返回的值是null,必然会产生NullPointerException异常。
    3.在调用某个对象的方法时候判断这个对 象是否可能为空,如果可能,则增加判断的语句
  • 查看全部(19条)

2022-02-24 14:30 郑如滨 集美大学 在Java程序设计课程中提问:

讨论:说说你使用的IDE上你最喜欢的5个快捷键

说说你使用的IDE上,你最喜欢的5个快捷键,并说明原因。 注意:不要写ctrl+c, ctlr+v, ctrl+x,ctrl+s

  • 2022-06-13 23:47 史雅馨

    Alt+/ :代码补充
    Ctrl+Shift+O 一键加入各种未声明的库文件
    Ctrl+Alt+S 跳出各种代码自动补充的功能页
    Ctrl+Alt+F 自动代码格式排版
    Ctrl+D 删除一行代码
    Ctrl+S 代码保存Alt+/ :代码补充
    Ctrl+Shift+O 一键加入各种未声明的库文件
    Ctrl+Alt+S 跳出各种代码自动补充的功能页
    Ctrl+Alt+F 自动代码格式排版
    Ctrl+D 删除一行代码
    Ctrl+S 代码保存
  • 查看全部(17条)

2022-02-24 14:30 郑如滨 集美大学 在Java程序设计课程中提问:

思考:阅读Manager与Employee代码并回答问题

尝试阅读并运行如下代码: import java.util.*; /** * This program demonstrates inheritance. * @version 1.21 2004-02-21 * @author Cay Horstmann */

  • 2022-06-13 23:46 史雅馨

    Employee类:
    属性(name,sex,address)
    方法 show 显示这些属性
    Manager类:
    属性(department)
    getSalary
    setBonusdouble b
    重写show方法
  • 查看全部(17条)

常见问题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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