Java程序设计

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

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

学时安排:56学时

学分:3.5分

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

    累计页面浏览量

  • 19800

    累计选课人数

  • 23634

    累计互动次数

2021-07-20 11:35 郑如滨 集美大学 在Java程序设计课程中提问:

思考:循环的使用

1.一般来说什么时候使用for什么时候使用while?试举例说明 2.for循环与while循环可以相互转换吗?试举例说明 3.while(true){.........}与for(;;){.....}都是死循环,计算机会不断执行循环体中的东西。这样的代码有意义吗?试举例说明

  • 2022-01-12 16:58 王家乐

    1.for循环和while循环最大的区别在于【循环的工作量是否确定】,for循环就像空房间依次办理业务,直到把【所有工作做完】才下班。但while循环就像哨卡放行,【满足条件就一直工作】,直到不满足条件就关闭哨卡.
    2.for循环一定可以转换成while循环,但while循环不一定可以转换成for循环
    3.有意义
  • 查看全部(139条)

2021-07-21 00:41 郑如滨 集美大学 在Java程序设计课程中提问:

思考:静态嵌套类的使用

阅读如下代码,回答以下三个问题: 1. 代码中ArrayAlg的静态嵌套类Pair的作用是什么? 2. 你觉得在这里将其定义为静态嵌套类有什么好处? 3. 如果将public static class Pair改成public class Pair,怎样修改源代码才能使其运行?并说

  • 2022-01-12 16:58 王家乐

    1.for循环:知道循环次数
    while循环:知道条件,且不限定循环次数
    for int i = 0; i<10; i++ {...//插入语句 }
    用while来写就是
    int i = 0;
    while i<10 {
    ...//插入语句
    i++;
    2.可以。例如:forint i=0;i<3;i++ whilei<=3
    3.有意义.利用条件反复判断如何完成任务的时候,借助构建死循环和跳出循环体的方法反而能够有效地解决问题
  • 查看全部(114条)

2021-07-21 21:36 郑如滨 集美大学 在Java程序设计课程中提问:

思考:引用数据类型与基本数据类型的区别是什么?

分析如下代码,并回答如下4个问题: String str1 = new String("123"); String str2 = new String("123"); System.out.println(str1==str2);//1.输出什么?为什么? System.out.

  • 2022-01-12 16:58 王家乐

    1.false 因为引用的对象不同
    2.ture 因为str1和str2引用的内容都为123
    3.true 1个,x和y对象公用一个地址块
    4.存储单元分配方式不同,变量的赋值方式不同
  • 查看全部(125条)

2021-07-21 22:09 郑如滨 集美大学 在Java程序设计课程中提问:

练一练:自己写一个枚举类型

1.随意定义一个枚举类型 2.在Main方法中定义一个该类型的数组,随意填充一些枚举常量值 3.遍历该数组,对数组中的不同常量值输出不同的内容。简易使用switch.

  • 2022-01-12 16:58 王家乐

    public class T {
    public static void main(String[] args){
    int a=4,b=2;
    //依次计算 4 和 2 +-*/ 产生的结果;
    for(int i=0; i<E.values().length; i++){
    E e=E.values()[i];
    int v=e.calc(4,2);
    System.out.println(a+e.op()+b+"="+v);
    }
    }
    }
    //加减乘除的枚举
    enum E{
    ADD {
    int calc(int a, int b) {return a+b;}
    String op(){return "+";}
    },
    SUBTRACT {
    int calc(int a, int b) {return a-b;}
    String op(){return "-";}
    },
    MULTIPLY {
    int calc(int a, int b) {return a*b;}
    String op(){return "*";}
    },
    DIVIDE {
    int calc(int a, int b) {return a/b;}
    String op(){return "/";}
    };
    abstract int calc(int a,int b);
    abstract String op();
    }
  • 查看全部(115条)

2021-07-25 15:23 郑如滨 集美大学 在Java程序设计课程中提问:

思考:对象的初始化

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

  • 2022-01-12 16:57 王家乐

    1. 构造方法用于初始化对象,一般在构造方法中编写对象初始化的代码。
    2. 根据调用时的参数决定。
    3. 任何一个类在没有编写有参构造方法前,都默认有无参构造方法,但编写有参构造方法后,就没有默认的了,要自个儿建。可以的,默认有无参构造方法。
    4. 初始化块先执行。
    5. 应该是初始化块可以初始化共同的属性,减少在构造方法里编写重复的代码
  • 查看全部(109条)

2021-07-25 15:23 郑如滨 集美大学 在Java程序设计课程中提问:

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

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

  • 2022-01-12 16:57 王家乐

    public class Circle {
    private double Radius;
    public double getRadius() {
    return Radius;
    }
    public void setRadius(double radius) {
    Radius = radius;
    }
    public Circle(){
    System.out.println("我是圆!");
    }
    public Circle(double r){
    this.Radius = r;
    }
    public double getArea(double r){
    return Math.PI * r * r;
    }
    public double getPerimeter(double r){
    return 2 * Math.PI * r;
    }
    public void show( ){
    System.out.println("圆的面积: " + this.getArea(Radius));
    System.out.println("圆的周长: " + this.getPerimeter(Radius));
    }
    }
  • 查看全部(96条)

2021-08-03 11:12 郑如滨 集美大学 在Java程序设计课程中提问:

练一练:设计一个Triangle三角形类与Shape形状类,并用UML类图进行描述

1.试设计一个三角形类继承自Shape类。这两个类分别具有什么属性?为什么要这这样设计? 2.可选:尝试使用UML类图绘制出继承关系,并截图分享。 参考资料 UML类图参考链接:http://www.cnblogs.com/doubleyan/archive/2009/11/2

  • 2022-01-12 16:57 王家乐

    一个三角形类继承自Shape类;
    Shape类想必是抽象类,三角形类具有三条边的长度,三个角的角度与面积属性;
    可以调用接口,把共性的方法直接就可以用,不要重复写;
  • 查看全部(85条)

2021-08-08 12:10 郑如滨 集美大学 在Java程序设计课程中提问:

思考:什么时候使用static?

1. 定义类的时候,什么样的方法和属性应该声明为static,什么样的方法和属性不声明为static? 2. Person类的name、age、getAge等是否应该声明为static? 3. 为什么String的valueOf方法声明为static,而substring方法不声明为st

  • 2022-01-12 16:56 王家乐

    1. 想要无需创建对象就可以使用的方法和属性可以声明为static;需要根据具体的实例作为基础展开的方法和属性不能声明为static。
    2. 不需要。
    3. 因为前者不需要有String对象就可以使用,而substring必须是有一个主串才能或取子串,也即是说,substring的使用前提是它需要现有一个String实例才行,所以不能用static
  • 查看全部(107条)

2021-08-08 12:10 郑如滨 集美大学 在Java程序设计课程中提问:

练一练:static关键字

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

  • 2022-01-12 16:56 王家乐

    因为static方法和类的实例(对象)是两码事,它只在类装载的时候(即编译的时候或者javac命令的时候)初始化,被称作类级变量(属于类);而类的实例是在程序运行的时候(即Java命令的时候)初始化,被称作对象级变量(属于对象)
  • 查看全部(105条)

2021-08-15 10:52 郑如滨 集美大学 在Java程序设计课程中提问:

练一练:使用instanceof筛选对象

建立一个Object数组,里面可以存储各种各样的对象,也可能包含null,编写一个方法,将其中的String对象抽取出来,并打印。 分享你们的代码。 Test.java源代码: package shapes; public class Test { publi

  • 2022-01-12 16:56 王家乐

    公共类测试 {
    公共静态无效 mainString[] 参数 {
    形状 [] 形状 = 新形状 [2];
    形状[0] = 新的 Circle10;
    形状[1] = 新的 Rectangle10,10;
    对于形状 e:形状 {
    if e instanceof Circle {
    Circle c = Circlee;
    System.out.printlnc.getArea;
    }
    }
    对象[] arr = 新对象[3];
    arr[0] = 新整数“12”;
    arr[1] = "Str";
    arr[2] = 新圆 10;
    对于对象 e : arr {
    if e instanceof Shape {
    System.out.printlne+ " is a Shape";
    }
    }
    }
  • 查看全部(95条)

常见问题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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