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. hectf2020部分简单题题解wp

    HECTF 我真是又菜又没时间肝题..又又又只水了波简单题... Reverse 1.Hello_Re file查一波 32bit,拖进IDA中 老规矩shift+F12 查看字符串: 跳转 F5查看 ...

  2. c# 调用Go 动态库

    [StructLayout(LayoutKind.Sequential)] public struct GoMem { public IntPtr data; public UInt64 len; p ...

  3. Android系统添加key和keypad

    平台:MTK 一.添加一个按键 1.在DCT tool keypad list 文件增加新按键的选项alps\mediatek\source\dct\Keypad_YuSu.cmp中添加新键,如SMS ...

  4. FL Studio中如何制作和混音警报声

    警报声在当今的许多电影配乐中,或者电子音乐的环境fx中经常出现.为了使用这种尖刺的警示声音,我们除了自己录制已有的警报声以外,也可以使用FL Studio20中的合成器和混音插件来制作属于自己的警报声 ...

  5. 关于iOS路径变化的解决方案

    问题描述: 使用沙盒存储文件的时候,我们会保存文件的绝对路劲以便下次读取,但是发现一个现象,我们保存的文件,在第二次打开App去查找的时候,发现找不到了...... 查找原因: iOS8之后,苹果添加 ...

  6. Nginx搭建文件共享服务器

    前言 Nginx除了做正反向代理和负载均衡,还能做动静分离服务器,如此便可以当作文件共享服务器使用. 环境 WIN 10 Vmware Workstation 15 Player CentOS Lin ...

  7. netty&websocket

    1.先判断是不是http 消息,不是返回400,是则remove之前添加的http组件,动态添加websocket组件 添加WebSocket Encoder和WebSocket Decoder之后, ...

  8. 【2014广州市选day1】JZOJ2020年9月12日提高B组T3 消除游戏

    [2014广州市选day1]JZOJ2020年9月12日提高B组T3 消除游戏 题目 Description 相信大家玩过很多网络上的消除类型的游戏,一般来说就是在一个大拼图内找出相同的部分进行最大程 ...

  9. SQL Server 索引碎片整理

    索引碎片整理的四种方法: 1)删除索引并重建 2)使用 DROP_EXISTING 语句重建索引 3)使用 ALTER INDEX REBUILD 语句重建索引 4)使用 ALTER INDEX RE ...

  10. 部署完的Django项目升级为HTTPS

    1.阿里云上申请免费ssl证书--->提交各种资料--->等待审核--->下载证书. 2.远程连接阿里云服务器,将下载下来的证书内容复制到Nginx安装目录下的cert目录(需要新建 ...