异常
1.异常的种类
Error:代表系统级别的错误(属于严重问题)
我们不用管这个错误;
Exception:叫做异常,代表程序可能出现的问题。
我们通常会使用Exception以及他的子类来封装程序出现的问题。
运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒。
运行时出现的异常(如:数组索引越界异常)
编译时异常:编译阶段就会出现异常提醒的。(如:日期解析异常)
异常的作用:
- 异常是用来查询bug的关键参考信息;
- 异常可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况;
如果不用异常处理的话,调用者是不知道自己输入的值是有问题的;
使用了异常处理后就能让调用者知道自己输入的值是非法的
异常处理
1.JVM默认的处理方式
- 吧异常的名称,异常的原因及异常出现的位置等信息输出在了控制台
- 程序停止执行,下面的代码不会再执行了;
在异常后面的代码没有被执行,并且JVM将异常的类型打印在了控制台,
ArithmeticException算数异常;
2.自己处理(捕获异常)
格式:
try{
可能出现异常的代码;
}catch(异常类名){
异常的处理代码;
}
目的:当代码出现异常的时候,可以让程序继续往下执行;
代码实现:
灵魂四问
1.如果try中没有遇到问题,那么catch中的代码将不会被执行;但是catch后面的代码会继续执行;
2.如果try中可能会遇到多个问题,会写多个catch与之对应;
细节:
如果我们要捕获多个异常,这些异常中如果存在父子关系的话,那么父类一定要写在下 面;
了解性:
在JDK7后,我们可以在catch中同时捕获多个异常,中间用 | 隔开;
表示如果出现了A异常或者B异常的话,采取同一种处理方案
3.如果try中遇到的问题没有被捕获,怎么执行?
相当于try...catch白写,还是交给JVM虚拟机解决了
4.如果try中遇到了问题,那么try下面的其他代码还会执行吗?
如果try中遇到了问题,那么下面的代码就不会执行了,直接跳转到对应的catch语句当中,执行catch里面的语句体,但是如果没有对应的catch与之匹配,那么还是会交给虚拟机进行处理;
异常中的常用方法:
3.抛出异常
数据库
SQL
SQL基本语句:
查询该数据库中包含多少表;
show tables;
查看指定表的表结构;
desc 表名;
DDL语句
DDL语句是操作数据库对象的语句,包括创建(create),删除(drop)和修改(alter)数据库对象;
1.创建表的语法:
create table [模式名.]表名
(# 可以有多个列定义;
columnName datatypr [default expr],
)
例如下面的建表语句;
还有一种建表的方法就是
该方法相当于在建表的时候将user表复制给了haha表,它们两个的表结构和表中的数据都是一样的;
2.给表格添加新的字段;
格式:alter table 表名 add column 字段名 字段类型;
示例:
3.给表添加多个字段
格式:alter table 表名 add 字段名 字段类型,.....,add 字段名 字段类型;
示例:
4.插入新的行
1.INSERT INTO Persons VALUES (1, 'Gates', 'Bill', 'Xuanwumen 10', 'Beijing');
2.INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');
实际演示:
运行结果:
5.select-查询数据
1.查询全表:select * from 表名;
运行结果:
2.查询部分表的数据:
select 列名1,列名2,... from 表名;
运行结果:
6.distinct-去除重复值显示
select distinct 列名称 from 表名称;
运行结果:
细节:distinct并不会将表中的数据删除,只是在显示的时候将重复的隐藏起来;
7.where – 条件过滤
select 列名称 from 表名称 where 列 运算符 值;
运行结果:
运行结果:
and和or运算符
这是表示找出性别为男并且索引小于4的所有元素;
JDBC
1.本质:
定义了一套操作所有关系型数据库的规则(接口);其实是官方(sun公司)订义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套(JDBC)接口编程,真正执行的代码时驱动jar包中的实现类;
2.快速入门:
1.导入驱动jar包;
2.注册驱动;
3.获取数据库连接对象 Connection;
4.定义sql;
5.获取执行sql语句的对象 Statement;
6.执行sql,接受返回结果;
7.处理结果;
8.释放资源;