第1章 异常与异常处理

1-1 Java异常简介 (06:50)

1-2 Java中使用try..catch..finally实现异常处理 (05:08)

import java.util.InputMismatchException;
import java.util.Scanner; public class HelloWorld {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); try {
System.out.println("请输入第一个数:");
int one = input.nextInt(); System.out.println("请输入第二个数:");
int two = input.nextInt(); System.out.println("两数相除结果为" + one / two);
} catch (InputMismatchException e) {
System.out.println("你应该输入整数!!!");
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
}
System.out.println("程序结束啦");
}
}

1-3 Java中通过案例学习 try...catch...finally (14:00)

1-4 练习题

1-5 Java 中的异常抛出以及自定义异常 (04:32)

1-6 练习题

1-7 Java 中的异常链 (06:09)

public class HelloWorld {
public static void main(String[] args) {
HelloWorld ct = new HelloWorld();
try {
ct.test2();
} catch (Exception e) {
e.printStackTrace();
}
} public void test1() throws DrunkException {
throw new DrunkException("开车不喝酒");
} public void test2() {
try {
test1();
} catch (DrunkException e) {
RuntimeException newExc = new RuntimeException(e);
throw newExc;
}
}
} class DrunkException extends Exception {
public DrunkException() {
} public DrunkException(String message) {
super(message);
}
}

1-8 练习题

1-9 经验总结 (02:20)

第2章 认识 Java 中的字符串

2-1 什么是 Java 中的字符串

2-2 Java 中字符串的不变性

2-3 Java 中 String 类的常用方法 Ⅰ

2-4 Java 中的 String 类常用方法 Ⅱ

2-5 认识 Java 中的 StringBuilder 类

2-6 Java 中的 StringBuilder 类的常用方法

2-7 练习题

第3章 Java 中必须了解的常用类

3-1 Java 中的包装类

3-2 Java 中基本类型和包装类之间的转换

Java 中基本类型和包装类之间的转换

基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦):

在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。

那什么是装箱和拆箱呢?我们分别来看下

装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱

拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱

任务

在编辑器中完成了基本类型和包装类之间的转换,即装箱和拆箱的操作。

请参考注释将 8、11、19、22 代码补充完整

运行结果为:

public class HelloWorld {
public static void main(String[] args) { // 定义double类型变量
double a = 91.5; // 手动装箱
Double b = new Double(a); // 自动装箱
Double c = a; System.out.println("装箱后的结果为:" + b + "和" + c); // 定义一个Double包装类对象,值为8
Double d = new Double(87.0); // 手动拆箱
double e = d.doubleValue(); // 自动拆箱
double f = d; System.out.println("拆箱后的结果为:" + e + "和" + f);
}
}

3-3 练习题

3-4 Java 中基本类型和字符串之间的转换

Java 中基本类型和字符串之间的转换

在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换。

其中,基本类型转换为字符串有三种方法:

1. 使用包装类的 toString() 方法

2. 使用String类的 valueOf() 方法

3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

再来看,将字符串转换成基本类型有两种方法:

1. 调用包装类的 parseXxx 静态方法

2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱

PS:其他基本类型与字符串的相互转化这里不再一一列出,方法都类似

任务

在编辑器中完成了基本类型和字符串之间的转换。

运行结果为:

请将 6、12 行代码填写完整

public class HelloWorld {
public static void main(String[] args) { double m = 78.5;
// 将基本类型转换为字符串
String str1 = String.valueOf(m); System.out.println("m 转换为String型后与整数20的求和结果为: " + (str1 + 20)); String str = "180.20";
// 将字符串转换为基本类型
Double a = Double.parseDouble(str); System.out.println("str 转换为double型后与整数20的求和结果为: " + (a + 20));
}
}

3-5 练习题

3-6 使用 Date 和 SimpleDateFormat 类表示时间

使用 Date 和 SimpleDateFormat 类表示时间

在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类。这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用:

使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下:

其中, Wed 代表 Wednesday (星期三), Jun 代表 June (六月), 11 代表 11 号, CST 代表 China Standard Time (中国标准时间,也就是北京时间,东八区)。

从上面的输出结果中,我们发现,默认的时间格式不是很友好,与我们日常看到的日期格式不太一样,如果想要按指定的格式进行显示,如 2014-06-11 09:22:30 ,那该怎么做呢?

此时就到了 java.text 包中的 SimpleDateFormat 类大显身手的时候了!!可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。

1. 使用 format() 方法将日期转换为指定格式的文本

代码中的 “yyyy-MM-dd HH:mm:ss” 为预定义字符串, yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期, HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒,这样就指定了转换的目标格式,最后调用 format() 方法将时间转换为指定的格式的字符串。

运行结果: 2014-06-11  09:55:48

2. 使用 parse() 方法将文本转换为日期

代码中的 “yyyy年MM月dd日 HH:mm:ss” 指定了字符串的日期格式,调用 parse() 方法将文本转换为日期。

运行结果: 

一定要注意哦:

1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理

2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包

任务

亲, Date 类和 SimpleDateFormat 类的使用您掌握了吗?让我们来检验下吧。

功能:实现将日期转换为指定格式的文本,将文本转换为日期

请在编辑器中的第 15、18、27 行中将代码填写完整

运行结果:

 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class HelloWorld { public static void main(String[] args) throws ParseException { // 使用format()方法将日期转换为指定格式的文本
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 创建Date对象,表示当前时间
Date now = new Date(); // 调用format()方法,将日期转换为字符串并输出
System.out.println(sdf1.format(now));
System.out.println(sdf2.format(now));
System.out.println(sdf3.format(now)); // 使用parse()方法将文本转换为日期
String d = "2014-6-1 21:05:36";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 调用parse()方法,将字符串转换为日期
Date date = sdf.parse(d); System.out.println(date);
}
}

3-7 Calendar 类的应用

Calendar 类的应用

Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

那么如何使用 Calendar 获取年、月、日、时间等信息呢?我们来看下面的代码:

其中,调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

运行结果: 

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。如下所示:

运行结果:

任务

亲, Calendar 类的使用您掌握了吗?让我们来检验下吧。

代码编辑器中实现获取 Calendar 对象,并转换为指定格式的时间。请将第 9、12 行代码补充完整

运行结果: 

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class HelloWorld { public static void main(String[] args) {
// 创建Calendar对象
Calendar c = Calendar.getInstance(); // 将Calendar对象转换为Date对象
Date date = c.getTime(); // 创建SimpleDateFormat对象,指定目标格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 将日期转换为指定格式的字符串
String now = sdf.format(date);
System.out.println("当前时间:" + now);
}
}

3-8 使用 Math 类操作数据

使用 Math 类操作数据

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();

常用的方法:

通过案例我们来认识一下他们的使用吧!!

运行结果:

PS: Math 类还提供了许多其他方法,各位小伙伴们可以注意关注 wiki ,查阅更多信息

任务

功能:定义一个包含 10 个元素的整型数组,通过随机产生 10 以内的随机数,给数组中的每个元素赋值,并输出结果。

运行结果:  0  3  3  2  6  3  2  7  0  9

注:由于数组元素值为随机产生,所以运行结果不固定,此运行结果仅作为示例

请在编辑器中的第 6、11、17 行中将代码填写完整

 
public class HelloWorld {

	public static void main(String[] args) {

		// 定义一个整型数组,长度为10
int[] nums = new int[10]; // 通过循环给数组赋值
for (int i = 0; i < nums.length; i++) {
// 产生10以内的随机数
int x = (int) (Math.random() * 10); nums[i] = x;// 为元素赋值
} // 使用foreach循环输出数组中的元素
for (int num : nums) {
System.out.print(num + " ");
}
}
}

第4章 Java 中的集合框架(上)

4-1 Java 中的集合框架概述 (09:50)

4-2 Collection 接口 & List 接口简介 (02:28)

4-3 学生选课--创建学生类和课程类 (05:03)

4-4 学生选课---添加课程 Ⅰ (12:18)

4-5 学生选课---添加课程 Ⅱ (06:42)

4-6 学生选课—课程查询 (11:15)

4-7 学生选课—课程修改 (02:14)

4-8 学生选课—课程删除 (05:57)

4-9 学生选课---应用泛型管理课程 Ⅰ (12:53)

4-10 学生选课---应用泛型管理课程 Ⅱ (07:48)

4-11 学生选课---通过 Set 集合管理课程 (15:03)

第5章 Java 中的集合框架(中)

5-1 Map & HashMap 简介 (03:36)

5-2 学生选课---使用 Map 添加学生 (14:25)

5-3 学生选课---删除 Map 中的学生 (08:23)

5-4 学生选课---修改 Map 中的学生 (06:53)

第6章 Java 中的集合框架(下)

6-1 学生选课---判断 List 中课程是否存在 (18:29)

6-2 学生选课---判断 Set 中课程是否存在 (07:21)

6-3 学生选课---获取 List 中课程的位置 (04:21)

6-4 学生选课---判断 Map 中是否包含指定的 key 和 value (10:17)

6-5 应用 Collections.sort() 实现 List 排序 (14:53)

6-6 学生选课---尝试对学生序列排序 (04:14)

6-7 Comparable & Comparator 简介 (04:19)

6-8 学生选课--- 实现学生序列排序 (14:33)

第7章 综合实战

7-1 简易扑克牌游戏 (06:06)

慕课网_Java入门第三季的更多相关文章

  1. 慕课网_Java入门第二季

    第1章 类和对象 1-1 什么是类和对象 (07:36) 1-2 如何定义 Java 中的类 (07:18) 1-3 如何使用 Java 中的对象 (04:45) 1-4 练习题 1-5 Java 中 ...

  2. 慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用

    来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...

  3. 慕课网JavaScript入门篇课程笔记

    1.js注释很重要 单行注释,在注释内容前加符号 “//”. <script type="text/javascript"> document.write(" ...

  4. 慕课网-Java入门第一季-7-5 Java 中带参无返回值方法的使用

    public class HelloWorld { public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hell ...

  5. 慕课网-Java入门第一季-7-4 编程练习

    来源:http://www.imooc.com/code/1634 小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整.编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. ...

  6. 慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用

    来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值 ...

  7. 慕课网-Java入门第一季-7-1 如何定义 Java 中的方法

    来源:http://www.imooc.com/code/1577 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法 ...

  8. 慕课网-Java入门第一季-6-10 练习题

    来源:http://www.imooc.com/ceping/1596 以下关于二维数组的定义和访问正确的是() A int[ ][ ] num = new int[ ][ ]; B int[ ][ ...

  9. 慕课网-Java入门第一季-6-9

    来源:http://www.imooc.com/code/1571 所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: ...

随机推荐

  1. 解决 android studio 出现:"AndroidStudio:Could not GET 'https://dl.google.com Received status code 400 from server: Bad Request"问题

    一.android studio 编译项目时出现"AndroidStudio:Could not GET 'https://dl.google.com Received status cod ...

  2. flask实现文件的上传

    文件上传过程中,一定要进行文件大小的校验,如果用户上传文件过大,比如:100GB,所以一直在处理这个请求,别的请求进来就无法处理了,所以要限制上传文件的大小. flask中文件上传大小的校验 flas ...

  3. django 自带认证系统(login,logout,authenticate,login_required)

    from django.contrib.auth import login,authenticate,logoutfrom django.contrib.auth.decorators import ...

  4. msvsmon.exe xp下不能运行

    远程调试   xp 下不能执行 vs2013 远程调试器 xp下不能运行 vs2010 远程调试器 xp下可以运行

  5. 介绍知道的http返回的状态码

    100    Continue    继续.客户端应继续其请求 101    Switching Protocols    切换协议.服务器根据客户端的请求切换协议.只能切换到更高级的协议,例如,切换 ...

  6. VS开发框架DevExtreme v19.1全解析!全新的UI小部件

    行业领先的.NET界面控件DevExpress 正式发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExtreme Complete Subscription v19.1中全新发布的Dro ...

  7. php的异步非阻塞swoole模块使用(一)实现简易tcp服务器--客户端

    //实例化一个swoole客户端 $swclient = new swoole_client(SWOOLE_SOCK_TCP); //建立连接---如果连接无效则退出 )){ echo "连 ...

  8. Qt:The CDB Process Terminated!调试失败

       一般是找不到DLL库导致的CDB终止.

  9. Java多线程和并发(十一),CAS(Compare and Swap)

    目录 1.CAS简介 2.CAS多数情况下对开发者来说是透明的 3.CAS缺点 十一.CAS(Compare and Swap) Synchronized直观意义上是一种悲观锁 cas则是乐观锁的一种 ...

  10. CentOS查看和修改PATH环境变量的方法

    查看PATH:echo $PATH以添加mongodb server为列修改方法一:export PATH=/usr/local/mongodb/bin:$PATH//配置完后可以通过echo $PA ...