1.包装类

1.1 基本类型包装类

基本类型包装类的作用

  将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

  常用的操作之一:用于基本数据类型与字符串之间的转换

基本类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

1.2 Integer

Integer类概述

  包装一个对象中的原始类型 int 的值

构造方法

方法名 说明
public Integer(int value) 根据 int 值创建 Integer 对象(过时)
public Integer(String s) 根据 String 值创建 Integer 对象(过时)
public static Integer valueOf(int i) 返回表示指定的 int 值的 Integer 实例
public static Integer valueOf(String s) 返回一个保存指定值的 Integer 对象 String

1.3 int和String类型的相互转换

int转换为String 转换方式

  方式一:直接在数字后加一个空字符串

  方式二:通过String类静态方法valueOf()

String转换为int 

  方式一:先将字符串数字转成Integer,再调用valueOf()方法

  方式二:通过Integer静态方法parseInt()进行转换

1.4 自动拆箱和自动装箱

自动装箱

  把基本数据类型转换为对应的包装类类型

自动拆箱

  把包装类类型转换为对应的基本数据类型

2.时间日期类

2.1 Date类

Date类概述

  Date 代表了一个特定的时间,精确到毫秒

Date类构造方法

方法名 说明
public Date() 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
public Date(long date) 分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数

2.2 Date类常用方法

方法名 说明
public long getTime() 获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值
public void setTime(long time) 设置时间,给的是毫秒值

2.3 SimpleDateFormat类

SimpleDateFormat类概述

  SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

  我们重点学习日期格式化和解析

SimpleDateFormat类构造方法

方法名 说明
public SimpleDateFormat() 构造一个SimpleDateFormat,使用默认模式和日期格式
public SimpleDateFormat(String pattern) 构造一个SimpleDateFormat使用给定的模式和默认的日期格式

SimpleDateFormat类的常用方法

  格式化(从Date到String)

    public final String format(Date date):将日期格式化成日期/时间字符串

  解析(从String到Date)

    public Date parse(String source):从给定字符串的开始解析文本以生成日期

2.5 Calendar类

Calendar类概述

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

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

Calendar类常用方法

方法名 说明
public int get(int field) 返回给定日历字段的值
public abstract void add(int field, int amount) 根据日历的规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date) 设置当前日历的年月日

二月天案例

 1 public class CalendarTest {
2 public static void main(String[] args) {
3 //键盘录入任意的年份
4 Scanner sc = new Scanner(System.in);
5 System.out.println("请输入年:");
6 int year = sc.nextInt();
7 //设置日历对象的年、月、日
8 Calendar c = Calendar.getInstance();
9 c.set(year, 2, 1);
10 //3月1日往前推一天,就是2月的最后一天
11 c.add(Calendar.DATE, -1);
12 //获取这一天输出即可
13 int date = c.get(Calendar.DATE);
14 System.out.println(year + "年的2月份有" + date + "天");
15 }
16 }

3.异常

3.1 异常

异常的概述

  异常就是程序出现了不正常的情况

异常的体系结构

Throwable

  Error:严重的错误,我们无法处理

  Exception:程序本身可以处理的错误

    RuntimeException:在编译期不做检查,等到发现错误时由我们回来修改程序

    非RuntimeException:编译期就必须处理,否则无法通过编译

3.2 JVM默认处理异常的方式

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

  把异常的名称,错误原因及异常出现的位置等信息输出在了控制台

  程序停止执行

3.3 try-catch方式处理异常

定义格式

1 try {
2   可能出现异常的代码;
3 } catch(异常类名 变量名) {
4   异常的处理代码;
5 }

执行流程

  程序从 try 里面的代码开始执行

  出现异常,就会跳转到对应的 catch 里面去执行

  执行完毕之后,程序还可以继续往下执行

3.4 Throwable成员方法

常用方法

方法名 说明
public String getMessage() 返回此 throwable 的详细消息字符串
public String toString() 返回此可抛出的简短描述
public void printStackTrace() 把异常的错误信息输出在控制台

3.5 编译时异常和运行时异常的区别

编译时异常

  都是Exception类及其子类

  必须显示处理,否则程序就会发生错误,无法通过编译

运行时异常

  都是RuntimeException类及其子类

  无需显示处理,也可以和编译时异常一样处理

3.6 throws方式处理异常

定义格式

1 public void 方法() throws 异常类名 {
2 ……
3 }

注意事项

  这个throws格式是跟在方法的括号后面的

  编译时异常必须要进行处理,两种处理方案:try...catch …或者 throws,如果采用 throws 这种方案, 将来谁调用谁处理

  运行时异常可以不处理,出现问题后,需要我们回来修改代码

3.7 throws和throw的区别

Throws

  用在方法声明的后面,跟着的是异常类名

  表示抛出异常,由该方法的调用者来处理

  表示出现异常的一种可能,并不一定会出现这个异常

Throw

  用在方法体内,跟着的是异常类名

  表示抛出异常,由方法体内语句处理

  执行throw一定抛出了某种异常

3.8 自定义异常

自定义异常类

1 public class iNumberLargeException extends Exception {
2 public iNumberLargeException(){}
3
4 public iNumberLargeException(String message){
5 super(message);
6 }
7 }

检测类

1 public class Check {
2 public static void check(int sorce) throws iNumberLargeException {
3 if (sorce < 0 || sorce > 100) {
4 throw new iNumberLargeException("分数异常!");
5 } else {
6 System.out.println("正常");
7 }
8 }
9 }

测试类

import java.util.Scanner;

public class iExceptionDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sorce = sc.nextInt();
try {
Check.check(sorce);
} catch (iNumberLargeException e) {
e.printStackTrace();
}
}
}

JavaSE13-常用API&异常的更多相关文章

  1. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

  2. request对象常用API 获取请求参数的值 request应用 MVC设计模式

    1 request对象常用API   1)表示web浏览器向web服务端的请求   2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1     ...

  3. kubernetes 客户端KubeClient使用及常用api

    KubeClient是kubernetes 的C#语言客户端简单易用,KubeClient是.NET Core(目标netstandard1.4)的可扩展Kubernetes API客户端, gith ...

  4. jedis常用API

    一.Redis Client介绍 1.1.简介 Jedis Client是Redis官网推荐的一个面向java客户端,库文件实现了对各类API进行封装调用. Jedis源码工程地址:https://g ...

  5. JsRender 前端渲染模板常用API学习

    JsRender 常用API 1. $.templates() $.templates()方法是用来注册或编译模板的,使用的情况有以下几种. 把html字符串编译编译成模板 获取使用script标签声 ...

  6. Map容器——TreeMap及常用API,Comparator和Comparable接口

    TreeMap及常用API ①   TreeMap类通过使用红黑树实现Map接口; ②   TreeMap提供按排序顺序存储键/值对的有效手段,同时允许快速检索; ③   不像散列(HashMap), ...

  7. 反射常用API

    反射所有功能都是通过class API来实现的 class常用API有: 1.class.GETINTERFACES():获得这个类实现的接口. 2.class.getMethods() Method ...

  8. gojs常用API (中文文档)

    常用API   操作类API   API 例子 应用场景 添加节点 myDiagram.model.addNodeData(node); var node = {}; node["key&q ...

  9. Netty的常用API(二)

    在使用Netty之前先介绍下Netty的常用API,对其有一个大概的了解. 一.EventLoop和EventLoopGroup EventLoop如同它的名字,它是一个无限循环(Loop),在循环中 ...

  10. Java 常用API (第二部分)

    常用api第二部分 Date 类 import java.util.Date; 时间原点: 1970-01-01 00:00:00(英国格林威治) 中国属于东八区, 会把时间增加 8 个小时: 197 ...

随机推荐

  1. Git本地仓库和远程仓库冲突解决

    场景描述: 在本地创建了一个git repo,并且执行了,git init命令,创建了.gitignore文件,或者README.md文件: 在远程创建了一个git repo,创建时也初始化了.git ...

  2. ctf-web-sql

    姿势文章总结 freebuf http://www.freebuf.com/news/139288.html http://www.freebuf.com/articles/web/137094.ht ...

  3. 来看看面试必问的HashMap,一次彻底帮你搞定HashMap源码

    HashMap结构 数组+链表+红黑树 链表大于8转红黑树,红黑树节点数小于6退回链表. 存放的key-value的Node节点 static class Node<K,V> implem ...

  4. FL Studio中的文件设置介绍

    在fl中,我们想要找到文件设置选项,可以在主菜单中选择选项-文件设置来打开,也可以通过按"F10"快捷键来一步打开." 文件设置"页面可以将其他文件夹链接到浏览 ...

  5. 用思维导图软件MindManager整理假期

    今天带大家使用MindManager2020软件构建出2020年的节假日思维导图. 既然是做2020年的节假日思维导图,那么有个MindManager技巧就是,关于这一类思维导图我们都可以选择时间线导 ...

  6. 如何基于App SDK快速地开发一个IoT App?

    一.背景及大纲介绍 在如今物联网DCM(Device.Connect.Manage)的大框架下,有一个应用层来分析和处理数据,是必备技能.但是,对于一个公司来说,因为研发能力或者研发时间的原因,可能很 ...

  7. jsp自定义错误页

    1.在可能出错页面的Page标签上errorPage="/Error.jsp"指定错误页 2.Error,jsp的page标签中isErrorPage="true&quo ...

  8. 关于UILabel标签控件的使用小节

    前段时间一直想停下来,总结一下近期在开发中遇到的一些问题顺便分享一下解决问题的思路和方法,无奈人生就像蒲公英,看似自由却身不由己.太多的时间和精力被占用在新项目的开发和之前项目的维护中,总之一句话外包 ...

  9. MySQL必知必会:简介undo log、truncate、以及undo log如何帮你回滚事物

    目录 一.前言 二.undo log表空间 三.关于undo log默认的配置 四.如何将undo log放到单独的表空间 文章公众号首发,持续更新中 五.rollback segment 六.什么是 ...

  10. 一道百度java面试题的多种解法

    下面是我在2018年10月11日二面百度的时候的一个问题: java程序,主进程需要等待多个子进程结束之后再执行后续的代码,有哪些方案可以实现? 这个需求其实我们在工作中经常会用到,比如用户下单一个产 ...