高级开发
异常处理
异常的出现
程序运行时由于一些不可预知的原因出现异常(如文件找不到,用户输入参数格式不对)
异常的特点:掠过该块内余下的代码
常见的异常
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函数
分享到:
相关推荐
**MCGS高级开发包详解** MCGS(Manufacturing Control for General System)是中国自主研发的一款通用监控组态软件,主要用于工业自动化领域的数据采集、过程控制、设备管理和人机交互。这款高级开发包专为Visual ...
"VBA高级开发指南"是一本专注于VBA深度使用的书籍,适合已经掌握基础并希望进一步提升的开发者。本书共分为13章,覆盖了VBA编程的高级话题。 在本书的第1章"字符串操作"中,首先介绍了VBA如何存放和处理字符串值。...
《Delphi高级开发指南》是一本专为经验丰富的Delphi开发者设计的深入学习资源,它涵盖了从基础到高级的各种主题,旨在帮助读者充分利用Delphi的强大功能进行高效的应用程序开发。Delphi,作为一款历史悠久的集成开发...
Java高级开发工程师简历大全,是求职者们展示自身技能与经验的重要载体,这些简历往往包含了丰富的Java编程领域的专业知识。在阅读这些简历时,我们可以从中提炼出一系列Java高级开发工程师应具备的关键技能和知识...
AutoCAD 高级开发技巧,内容不错,希望和大家一起分享一下!
### Arduino高级开发权威指南(原书第2版) #### Arduino简介与重要性 Arduino是一种开源电子原型平台,它包括了可使用IDE编程的微控制器板和一套用来编写和上传程序到板子上的软件开发环境。Arduino因其易用性和...
Cocos2d-x高级开发教程源代码 ├─《实战演练》代码 │ ├─OS X项目 │ │ ├─FishingJoy_Final │ │ ├─FishingJoy_FirstIteration │ │ ├─FishingJoy_SecondIteration │ │ └─FishingJoy_ThirdIteration...
JAVA EE WEB高级开发案例
Android高级开发技术案例教程
VBA_高级开发指南
Eclipse精要与高级开发技术.pdf dddddddddddddddddddddddd
AutoCAD2000高级开发技术:ARX编程及应用.pdf,李世国等著,PDF格式。非常经典的一本关于ObjectARX开发的书。
Oracle Forms与Reports高级开发 4个包 1
C++ Builder高级开发人员技术指南 由于上次压缩失败,重发!
flex4 高级开发技术 英文版最新 flex4 高级开发技术 英文版最新 flex4 高级开发技术 英文版最新 flex4 advance
本文档是Foxtable的《高级开发指南》,是Foxtable主文档的补充,用于介绍部分Foxtable高级开发版特有的功能,例如网页设计入门、手机管理系统的开发,微信接入、三层架构设计和多线程编程等等。
SQL Server高级开发与专业应用 SQL Server高级开发与专业应用