基本数据类型对应的包装类
一般都是放在Java.lang包中,import.java.lang是默认加载的
int ——>Integer char——>Character float——>Float double——>Double byte——>Byte long——>Long short——>Short boolean——>Boolean
拆箱与装箱(说到底也就是数据类型与包装类之间的转换)
装箱(Autoboxing):就是把基本类型用它们相对应的引用类型包装起来,是它们具有对象的特质。
拆箱(Autounboxing):将引用类型对象重新简化为值类型的数据。
Integer intObj = new Integer(10)//装箱 int temp = intObj.intValue()//拆箱 int temp2 = 20; intObj = temp2;//自动装箱 int foo = intObj;//自动拆箱 //自动装箱和拆箱功能,在编译上使用了编译蜜罐技术~
基本数据类型和字符串之间的转换
字符串转基本数据类型:
使用包装类.parseXXX()方法
基本数据类型转字符串:
使用String.value()
String类
常用方法:
1.equals()方法 比较当前当前对象包含的字符串值与参数对象所包含的字符串值是否相等(区分大小写比较)
2.equalsIgnoreCase() 同上(不区分大小写比较)
3.compareTo() 比较字符串大小的关系
“==”比较的是两个对象的堆内存地址的相等判断,而equals()是真正比较字符串内容
Math与Random类
Math:见参考
Random:
1.nextInt(n) 返回一个大于等于0,小于n的随机整数
2.nextDouble() 返回一个大于0,小于1的随机浮点数
String str = new String("java") //这条语句创建的对象有两个:1.在堆内存的"java"字符串对象 2.指向"java"这个对象的引用str
异常的捕获和处理
我们把生成异常对象并把它交给运行时的系统的过程,称为异常的抛出。运行时系统在方法的调用栈中查找,并从生成异常的方法开始进行回溯,直到找到包含相应异常处理的方法为止,这一过程称为异常的捕获。
try{ ...//捕获异常 }catch{ ...//执行异常处理 }finally{ ...//无论是否有异常都会执行 }
异常类的处理流程
在Java中,异常可分为两大类:Java.lang.Exception类(一般性异常)与java.lang.Error(虚拟机出错,用户在程序里无法处理这种错误)。均继承自java.lang.Throwable类
throws关键字
public static int parseInt(String s) throws NumberFormatException { //方法体 } //如果字符串没有包含可解析的整数,就会抛出异常。使用throws声明的方法,表示此方法不处理异常,而系统自动将所捕获的异常信息抛给上级调用方法
throw关键字
在某些情况下,用户希望能亲自进行异常类对象的实例化操作,自己手动抛出异常,那么此时就需要依靠throw关键字来完成了。
public class throwError{ public static void main(Stirng[] args] { try{ //抛出异常的实例化对象 throw new ArrayIndexOutOfBoundsException("我是个性化异常信息"); //用户可以给出自己个性化信息 }catch(ArrayIndexOutOfBoundsException ex){ syso(ex); } } }
异常处理的标准格式
throws语句用在方法声明的后面,表示一旦异常抛出,由调用这个方法的上一级方法中的语句来处理。
throw抛出异常,内部消化,throws抛出异常,调用者解决。
package java_exception; public class throwDemo { public static void main(String[] args) { // TODO Auto-generated method stub int arr[] = new int[5]; try { setZero(arr,10); }catch(ArrayIndexOutOfBoundsException e) { System.out.println("异常:"+e); } System.out.println("main()方法结束!"); } public static void setZero(int[] arr, int index) throws ArrayIndexOutOfBoundsException{ System.out.println("--------------方法开始--------------------------------"); try { arr[index] = 0; }catch(ArrayIndexOutOfBoundsException ex) { throw ex; }finally { System.out.println("--------------方法结束-------------------------------"); } } }