Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】

  • 视频+资料(工程源码、笔记)【链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs】
  • Java基础--学习笔记(零起点打开java世界的大门)--博客汇总表

目   录

01_基本类型包装类

5.1、基本类型包装类概述

02_Integer

5.2、Integer类的概述和使用

03_int和String的相互转换

5.3、int和String的相互转换

04_字符串中数据排序

案例:字符串中数据排序

05_自动装箱和拆箱

5.4、自动装箱和拆箱

06_Date

6.1、Date类概述和构造方法

07_Date常用方法

6.2、Date类的常用方法

08_SimpleDateFormat

6.3、SimpleDateFormat类概述

6.4、SimpleDateFormat构造方法

6.5、SimpleDateFormat格式化和解析日期

09_日期工具类

案例:日期工具类

10_Calendar

6.6、Calendar类概述

11_Calendar常用方法

6.7、Calendar的常用方法

12_二月天

案例:二月天

13_异常

1.1、异常概述

14_JVM的默认处理方案

1.2、JVM的默认处理方案

15_异常处理之try...catch

1.3、异常处理

1.4、异常处理之try...catch...

16_Throwable的成员方法

1.5、Throwable的成员方法

1、getMessage() 返回Throwable的详细消息字符串

2、toString() 返回此可抛出的简短描述

3、printStackTrace() 把异常的错误信息输出在控制台

17_编译时异常和运行时异常的区别

1.6、编译时异常和运行时异常的区别

1、运行时异常

2、编译时异常

18_异常处理之throws

1.7、异常处理之throws

19_自定义异常

1.8、自定义异常

1.9、throws和throw的区别


01_基本类型包装类

5.1、基本类型包装类概述

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第1张图片

 

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第2张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第3张图片

02_Integer

5.2、Integer类的概述和使用

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第4张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第5张图片

打印的是“100",而不是地址信息。说明: lnteger重写了toString()方法。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第6张图片

不是数字组成的字符串,会出现“NumberFormatException”的问题。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第7张图片

03_int和String的相互转换

5.3、int和String的相互转换

int转换为String

  • 方式一:直接在数字后加一个空字符串     【String s1 = number + "";】
  • 方式二:通过String类静态方法valueOf()   【String s2 = String.valueOf(number);】

String转换为int

  • 方式一:先将字符串数字转成Integer,再调用valueOf()方法【Integer i = Integer.valueOf(s);   int x = i.intValue();】
  • 方式二:通过Integer静态方法parseInt()进行转换                 【int y = Integer.parseInt(s);】

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第8张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第9张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第10张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第11张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第12张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第13张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第14张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第15张图片

04_字符串中数据排序

案例:字符串中数据排序

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第16张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第17张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第18张图片

package com.itheima_03;

import java.util.Arrays;

public class IntegerTest {
    public static void main(String[] args) {
        //定义一个字符串
        String s = "91 27 46 38 50";

        //把字符串中的数字数据存储到一个int类型的数组中
        String[] strArray = s.split(" ");
        for(int i=0; i

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第19张图片

05_自动装箱和拆箱

5.4、自动装箱和拆箱

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第20张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第21张图片

package com.itheima_04;

/*
    装箱:把基本数据类型转换为对应的包装类类型
    拆箱:把包装类类型转换为对应的基本数据类型
 */
public class IntegerDemo {
    public static void main(String[] args) {
        // 装箱:把基本数据类型转换为对应的包装类类型
        Integer i = Integer.valueOf(100); // 装箱
        Integer ii = 100; // 自动装箱 底层:Integer.valueOf(100);

        // 拆箱:把包装类类型转换为对应的基本数据类型
        ii += 200;
//        ii = ii + 200;
//        ii = ii.intValue() + 200; // 自动装箱:基本数据类型自动赋值给引用类型Integer
//                                  // ii.intValue():拆箱 引用类型变为基本类型
//        ii = i + 200; // 内部隐含自动拆箱、自动装箱操作
        System.out.println(ii);

        Integer iii = null;
//        iii += 100; // iii先调用intValue()方法 NullPointerException
        // 引用数据类型,在使用之前,最好先做是否为null的判断
        if (iii != null) {
            iii += 100;
        }
    }
}

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第22张图片

06_Date

6.1、Date类概述和构造方法

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第23张图片

图示的Date类,在java.sql包下,将学习的Date类在java.util包下。

在搜索框中输入类名的时候,在一般情况下,只有一个包下有这个类,但是也会存在 有多个包下有这个类。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第24张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第25张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第26张图片

Date构造方法

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第27张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第28张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第29张图片

07_Date常用方法

6.2、Date类的常用方法

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第30张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第31张图片

08_SimpleDateFormat

6.3、SimpleDateFormat类概述

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第32张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第33张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第34张图片

6.4、SimpleDateFormat构造方法

 Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第35张图片

6.5、SimpleDateFormat格式化和解析日期

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第36张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第37张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第38张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第39张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第40张图片

 Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第41张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第42张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第43张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第44张图片

09_日期工具类

案例:日期工具类

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第45张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第46张图片

10_Calendar

6.6、Calendar类概述

Calendar 为特定瞬间(某一时刻)与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。

 

Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象,该方法返回一个Calendar 对象。

其日历字段已使用当前日期和时间初始化:Calendar rightNow = Calendar.getInstance()

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第47张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第48张图片

使用“static”修饰的日历字段,可以通过类名直接访问。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第49张图片

抽象类,不能直接创建对象(实例化)。构造方法,可以用于子类访问父类数据的初始化。

成员方法,大部分都没有使用“static”修饰,需要通过对象来使用。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第50张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第51张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第52张图片

java.util.GregorianCalendar[time=1596087518361,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2020,MONTH=6,WEEK_OF_YEAR=31,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=212,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=38,SECOND=38,MILLISECOND=361,ZONE_OFFSET=28800000,DST_OFFSET=0]

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第53张图片

11_Calendar常用方法

6.7、Calendar的常用方法

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第54张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第55张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第56张图片

12_二月天

案例:二月天

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第57张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第58张图片

13_异常

1.1、异常概述

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第59张图片

 

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第60张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第61张图片

ERROR:一个Error是的子类Throwable表示严重的问题,合理的应用程序不应该试图捕获。

程序出现ERROR情况,一般来说Java程序是无能为力的,比如说:硬件层面的问题、内存资源不足。针对ERROE问题,一般不处理。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第62张图片

检查异常:编译期间就必须处理的异常,否则程序不能通过编译。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第63张图片

RuntimeException及其子类是未经检查的异常 。编译期间,不需要检查,出现问题后,需要修改代码。

 Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第64张图片

14_JVM的默认处理方案

1.2、JVM的默认处理方案

如果程序出现了问题,我们没有做任何处理,最终JVM 会做默认的处理,处理方式有如下两个步骤:

  • 把异常的名称,错误原因及异常出现的位置等信息输出在了控制台
  • 程序停止执行

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第65张图片

15_异常处理之try...catch

1.3、异常处理

为什么要学习自己处理异常?Java虚拟机的默认处理方案,会让程序在出现问题的地方直接结束。而在程序开发中,程序某一个部分出问题了,不应该影响后续程序的执行,所以要自己处理异常。 

如果程序出现了问题,我们需要自己来处理,有两种方案:

  • try ... catch ...
  • throws

1.4、异常处理之try...catch...

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第66张图片

异常类名 要与 异常对象 相匹配,变量名(对象名),接收对象。

  • 程序从 try 里面的代码开始执行
  • 出现异常,就会跳转到对应的 catch 里面去执行
  • 执行完毕之后,程序还可以继续往下执行

Java虚拟机的默认处理方式:

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第67张图片

package com.itheima_02;

public class ExceptionDemo01 {
    public static void main(String[] args) {
        System.out.println("开始");
        method();
        System.out.println("结束");
    }

    public static void method() {
        try {
            int[] arr = {1, 2, 3};
            System.out.println(arr[3]); // 此处出现问题,会产生异常类对象 相当于 new ArrayIndexOutOfBoundsException();
            // 把“new ArrayIndexOutOfBoundsException();”交给Java的运行时系统
            // 运行时系统就到catch中 找匹配的异常对象,找到匹配的异常对象后,执行{}中的内容
            System.out.println("这里能够访问到吗?不能!");
        } catch (ArrayIndexOutOfBoundsException e) { // 出现异常后,应该给出一个页面进行提示
            System.out.println("你访问的数组索引不存在,请回去修改为正确的索引");
            e.printStackTrace(); // e是对象,调用方法
            System.out.println("---");
        }
    }
}

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第68张图片

16_Throwable的成员方法

1.5、Throwable的成员方法

Throwable是所有错误和异常的祖宗类,只要属于这个体系的,都可以使用它的成员方法。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第69张图片

1、getMessage() 返回Throwable的详细消息字符串

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第70张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第71张图片

在构造方法中,对detailMessage进行赋值。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第72张图片

2、toString() 返回此可抛出的简短描述

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第73张图片

3、printStackTrace() 把异常的错误信息输出在控制台

e.printStackTrace()   信息最全,用的最多!

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第74张图片

17_编译时异常和运行时异常的区别

1.6、编译时异常和运行时异常的区别

Java中的异常被分为两大类:编译时异常运行时异常,也被称为受检异常非受检异常

所有的RuntimeException类及其子类 被称为运行时异常,其他的异常都是编译时异常。

编译时异常

  • 都是Exception类及其子类。
  • 必须显示处理,否则程序就会发生错误,无法通过编译。

运行时异常

  • 都是RuntimeException类及其子类。
  • 无需显示处理,也可以和编译时异常一样处理。

1、运行时异常

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第75张图片

运行时异常(非受检异常):编译的时候不报错;运行报错 --> 返回修改代码。

运行时异常(非受检异常):做不做try{}catch(){}处理都一样,不需要显示处理,因为 运行时异常 需要修改代码。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第76张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第77张图片

2、编译时异常

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第78张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第79张图片 未处理异常。可能会出现问题,要捕捉异常。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第80张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第81张图片

编译时异常:有可能会出现异常!!!

18_异常处理之throws

1.7、异常处理之throws

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第82张图片

public void 方法() throws 异常类名 { }

throws处理异常,没有输出“结束”,并不是真正地处理异常,仅仅是 抛出异常,如果想让程序往下执行,还是得用try...catch...

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第83张图片

编译时异常:在编译期间就必须显示处理,否则程序会报错。

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第84张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第85张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第86张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第87张图片

不管是 编译时异常,还是 运行时异常,都可以在方法后 通过throws抛出异常,但是这种抛出异常的方式,并没有做实际处理。

真正的处理还是得通过try...catch...实现。(程序继续向下执行!)

假如异常处理不了,可以抛出去,让调用者进行处理。

19_自定义异常

1.8、自定义异常

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第88张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第89张图片

Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】_第90张图片

1.9、throws和throw的区别

你可能感兴趣的:(Java基础(超级详细),java,Integer,日期类,异常处理,jvm)