高级开发

高级开发

异常处理
异常的出现
程序运行时由于一些不可预知的原因出现异常(如文件找不到,用户输入参数格式不对)
异常的特点:掠过该块内余下的代码
常见的异常
ArithmeticException: 算术异常,如除数为0
ArrayIndexOutOfBoundsException:数组越界异常
ArrayStoreException:数组存储异常
ClassCastException:类型转换异常
IllegalArgumentException:无效参数异常
NegativeArraySizeException:数组尺寸为负异常
NullPointerException:未分配内存异常
NumberFormatException:数字格式异常
StringIndexOutOfBoundsException:字符串越界异常

捕获异常
try{
//可能出现异常的代码
}
catch(Exception1 ex1){/*处理1*/}
catch(Exception2 ex2){/*处理2*/}
catch(Exception3 ex3){/*处理3*/}
…..
finally{ //可选
}
异常的两种处理方式
就地处理:用try---catch
抛出,给客户端处理
在相应函数定义上增加:throwsXXXException,在代码内抛出该异常对象
客户端用try---catch来处理异常
自定义异常

多线程
线程及其实现
让应用程序看起来同时能做好几件事情,怎么办?
你可以开一个线程
线程实现的方法
方法1:Thread继承法
定义一个类,继承Thread
重写其run函数
对象调用start方法
方法2:Runnable实现法
定义一个类,实现Runnable
重写其run函数
定义一个Thread对象,将该对象传进去,调用start方法

线程的安全问题
1:线程协作
等待一个线程运行完毕: join
2:线程同步
线程同步的重要关键字: synchronized

数值运算,字符串处理,时间管理
数值运算
java.lang.Math类
static double E :自然对数e
static double PI :圆周率
static double abs(double/float/int/long a):计算绝对值
static double ceil(double a) :不小于一个数字的最小整数
static double floor(double a) :不大于一个数字的最大正整数
static double max(double/float/int/long a, double/float/int/long b) :两数中较大的那个
static double min(double/float/int/long a, double/float/int/long b) :两数中较小的那个
static doublesqrt(double a) :开方
static double sin(double a) :正弦
static doublecos(double a) :余弦
static double tan(double a) :正切
static doubletoDegrees(doubleangrad) :弧度转角度
static doubletoRadians(doubleangdeg) :角度转弧度
注意:有些函数来源于CLDC1.1,CLDC1.0不支持

字符串处理:String
String: 处理不可变的字符串
charcharAt(intindex) :返回某位置的字符
boolean endsWith(String suffix)/startsWith(String prefix) :是否以某串结尾/开头
booleanequals(ObjectanObject) /equalsIgnoreCase(StringanotherString) :字符串相等/不区分大小写情况下是否相等
byte[]getBytes()/getBytes(String enc) :根据默认/相应字符集转成字节数组
byte[]getBytes(String enc):根据相应字符集转成字节数组
int indexOf(int ch) /int indexOf(int ch,int fromIndex):返回字符在串中位置
int indexOf(Stringstr) /int indexOf(Stringstr,int fromIndex) :返回字符串在串中位置
intlength() :长度
String replace(charoldChar, charnewChar) :替换字符
Stringsubstring(int beginIndex) /substring(int beginIndex,int endIndex) :截取某段
char[]toCharArray() :转为字符数组
StringtoLowerCase()/toUpperCase() :转小写/大写
String trim() :去掉两边空格
static StringvalueOf(各种类型):将各种类型转为字符串

字符串处理:StringBuffer
StringBuffer:处理可变的字符串(相关函数作了同步处理)
StringBufferappend(各种类型):在末尾添加字符
StringBufferinsert(intoffset, 各种类型):在其中添加字符
StringBufferdelete(intstart,intend) /deleteCharAt(intindex) :删除字符
intlength() 包含的字符数
intcapacity() :剩余容量
charcharAt(intindex) :返回某位置的字符
voidgetChars(int srcBegin,int srcEnd, char[]dst,int dstBegin):得到一段字符
StringBufferreverse() :反转
voidsetCharAt(intindex, charch):替换某个位置的字符
StringtoString() :转为字符串

时间管理
java.util.TimeZone:管理时区
staticTimeZone getTimeZone(String ID) :根据ID得到时区
static String[]getAvailableIDs() :得到系统支持的时区ID
abstractboolean useDaylightTime() :该时区是否支持夏令时
java.util.Calendar:日历
static CalendargetInstance()/getInstance(TimeZonezone) :得到日历对象
intget(intfield) :得到日期内的某个值,参数为静态变量
java.util.Date:管理时间

随机数,集合和定时器
随机数:Random
常用方法:nextInt(n)
生成某个范围内的随机数

集合
一维集合:java.util.Vector: 可以添加,删除,修改,获得对象
二维集合:java.util.Hashtable: 利用key=value的形式进行数据存储,可以添加,删除,修改,获得对象

定时器
要让某个组件每隔一段时间做一件事情,也许你觉得线程方法比较麻烦,可以用定时器
要点:
定义一个类,继承TimerTask,重写run方法
定义一个Timer
void schedule(TimerTasktask, Date time) :某时刻触发
void schedule(TimerTasktask, DatefirstTime, long period):某个时刻开始执行,指定重复执行的周期,单位是毫秒
void schedule(TimerTasktask, long delay) :某段时间之后触发
void schedule(TimerTasktask, long delay, long period),某段时间之后触发开始执行

灯光闪烁和震动功能
Display的flashBackLight函数
Display的vibrate函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值