【幻化万千戏红尘】qianfengDay12-java基础学习:二维数组、异常、错误
2016-08-04 11:04
441 查看
课程回顾:
数组:存储一组相同数据类型的数据结构
数组是引用类型
作用:存储多个数据
变与不变:
变:数组的元素的内容可以改变
不变:数组的长度不可改变
使用数组的核心:
1、确认数组元素的数据类型
2、确认数组的长度
初始化方式:
1、静态化初始化
格式:数据类型 数组名={值,……};
2、动态化初始化
格式:数据类型 数组名[=new 数据类型[长度]];
算法:
1、排序
2、查找
今日内容:
二维数组:数组的元素又是一个数组
谨记:二维数组的每个元素是一个数组
初始化方式:
1、静态
格式:数据类型[][] 数组名={{值,……},{值,……},……};
2、动态
格式:数据类型[][] 数组名[=new
数据类型[二维数组长度][一维数组长度]];
使用:
数据类型是元素对应的数组的元素的类型
在使用二维数组中的具体的元素的时候,
数组名[二维索引][一维索引]=值;
二维数组的每个元素都是一个一维数组对象
异常:程序在运行中发生的不正常的事件,中断了程序的正常执行
根据严重情况,我们分为:
错误:Error:就是内在机制出问题等,我们程序员无法干涉的问题
异常:Exception:因为我们程序员设计的原因引起的问题等,程序员可以解决的问题
异常的划分:
1、受检异常(编译异常)、检查异常
开发工具检查的异常,开发工具提示的异常
2、非受检异常(运行异常:RuntimeException)、非检查异常
开发工具不能检查的异常,开发工具未提示的异常
异常的处理:
1、捕获异常:try...catch(异常类)
使用格式:
try{
可能引发异常的代码块
}catch(异常类 参数名){
处理异常的代码块
}finally
{
一定会执行的代码块
}
try:内部放可能引发异常的代码
catch:内部可以多异常信息进行打印或记录
finally:内部常常写一些必须要关闭或断开连接的代码
异常机制:
程序在运行中发送了异常,就会产生异常类对象
如果有try那么就去匹配对应的catch,如果可以匹配成功
那么程序就认为该异常已经处理,会继续往下执行
但是若没有匹配成功则中断程序的执行
try可以跟多个catch语句,但是父类的异常应该在最下面的catch语句中
try不能单独使用
catch:[0,n],try后面可以不跟catch,就得跟finally
finally:[0,1],结合try使用,内部代码一定会执行
程序:先执行try,再匹配catch,最后执行finally
2、抛出异常:throws
用在方法的声明中,后面可以抛出多个异常,多个之间使用,隔开
格式:[修饰符]
返回值类型 方法名([形式参数列表]) throws
异常类
{
}
throw和throws的区别?
throws:
用在方法声明中
后面跟的是异常类名称
可以跟多个异常类
throw:
用在方法体中
后面跟的是异常类对象
只能抛一个对象
自定义异常类:
自定义类并继承异常类或异常子类
自定义异常类都是受检异常
在使用的时候,方法内部throw抛出对象,结合方法声明中throws抛出异常类型
常用类:
1、Math:算术运算工具类
常用的静态方法:
random:随机数 范围[0.0,1.0)
round:四舍五入
pow:获取指定数字的指定次幂
2、Random:随机数类
常用方法:
nextInt(int num):生成随机数 范围[0,num)
nextDouble:生成随机数 double
范围[0.0,1.0)
nextBoolean:生成随机数 boolean true|false
3、Runtime:运行时类
单例类,唯一实例
常用方法:
freeMemory:获取空闲内存 单位:字节
totalMemory:获取总内存 单位:字节
maxMemory:获取最大内存 单位:字节
exec:打开指定的软件
gc:调用GC
明日内容:
包装类/封装类
拆箱和装箱
String
StringBuilder
Date
SimpleDateFormat
Calendar
StringBuffer
System
相关文章推荐
- 【幻化万千戏红尘】qianfengDay08-java基础学习:修饰符、重写、继承、抽象、递归、final
- 【幻化万千戏红尘】qianfengDay14-java基础学习:集合,ArrayList,Iterator,LinkedList
- 【幻化万千戏红尘】qianfengDay18-java基础学习:文件流、内存流、缓冲流
- 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof
- 【幻化万千戏红尘】qianfengDay22-java基础学习:线程安全、synchronized、死锁
- 【幻化万千戏红尘】qianfengDay24-java基础学习:数据库、七大表语句、JDBC反射
- 【幻化万千戏红尘】qianfengDay03-java基础学习:for循环,switch,if
- 【幻化万千戏红尘】qianfengDay06-java基础学习:重载、方法、类、对象、构造方法
- 【幻化万千戏红尘】qianfengDay16-java基础学习:HashMap,HashTable,TreeMap
- 【幻化万千戏红尘】qianfengDay19-java基础学习:转换流、对象流、打印流、三大标准(重定向)
- 【幻化万千戏红尘】qianfengDay13-java基础学习:String ,StringBuilder,StringBuffer,Date,Calendar
- 【幻化万千戏红尘】qianfengDay15-java基础学习:List,ArrayList,LinkedList,comparable,comparator
- 【幻化万千戏红尘】qianfengDay02-java基础学习:运算符、进制转换
- 【幻化万千戏红尘】qianfengDay10-java基础学习:成员内部类、静态内部类、局部和匿名内部类,设计模式之简单工厂模式
- 【幻化万千戏红尘】qianfengDay21-java基础学习:进程、线程、Timer
- 【幻化万千戏红尘】qianfengDay20-java基础学习:数据流、随机读取文件流RandomAccessFile
- 【幻化万千戏红尘】qianfengDay17-java基础学习:泛型,路径,File类,IO流
- 【幻化万千戏红尘】qianfengDay11-java基础学习:数组,排序,算法
- 【幻化万千戏红尘】qianfengDay07-java基础学习:static、设计模式之单例模式
- 【幻化万千戏红尘】qianfengDay04-java基础学习:for语句.while语句,do-while语句