day05
基本数据类型包装类
-
Integer获得对象
-
该对象中包装了一个基本数据类型int 的值
-
Integer i = Integer.valueOf(200); Integer i = Integer.valueOf("200");
-
-
Integer自动装箱和自动拆箱
-
自动装箱:自动调用valueof()方法把基本数据类型转换为对应的包装类类型。
-
//装箱:把一个基本数据类型 变成对应的包装类。 //自动:自动调用valueof()方法。 Integer i1 = 100; Integer i1 = new Integer(100);
-
-
自动拆箱:把一个包装类型 变成对应的基本数据类型
-
//把一个包装类型 变成对应的基本数据类型 int i2 = i1;
-
Integer i3 = 100; //自动装箱机制 i3 += 200; //会把i3这个对象变成基本数据类型100. //100+200=300 //把基本数据类型300再次自动装箱变成Integer对象赋值给i3 //细节 null 不能复制给基本数据类型 //以后计算时可以加上一个if
-
-
细节
-
-
Integer的成员方法
-
String s1 = "100"; int i2 = Integer.parseInt(s1);
-
面试题
数组的高级操作
二分查找
- 二分查找 相当于每次去掉一半的查找范围
- 步骤
冒泡排序
-
//排序后: for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } 方式二:冒泡排序 int[] arr = {4, 1, 5, 3, 2}; for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.out.println(); for(int i=0;i<arr.length-1;i++){ //循环四次 for(int j=0;j<arr.length-1-i;j++){//分别循环4,3,2,1 if(arr[j]>arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.out.println();
递归
- 递归求阶乘
Arrays
-
int[] arr = {1,2,3,4,5,6,7,8,9} Arrays.toString(arr); Arrays.sort(arr); Arrays.binarySerach(arr,9);
异常
-
异常概述
-
JVN默认处理方案
-
异常处理方式
-
throws
-
throws 异常类名; //方法声明异常,交给调用者处理,调用者也声明异常最终交给虚拟机处理。
-
如果声明的是一个运行时异常,那么声明的代码可以省略
-
如果声明的是一个编译时异常,那么声明的代码必须手写
-
-
throw
-
throw new 异常(); //在方法内的,表示当前代码手动抛出一个异常,下面的代码不用在执行了。
-
-
两者的区别
-
try…catch…
-
try{ 可能出现异常的代码; }catch(异常类名 变量名){ 异常的处理代码 } //好处:可以让程序继续往下运行
-
常见的问题
- 如果try中没有遇到问题,怎么执行
- try里面的代码执行,不会执行catch里面的代码
- 如果try中遇到了问题,那么try下面的代码还会执行嘛
- 直接跳转到catch语句中,try下面的代码就不会执行了
- catch里面的代码执行完毕后,继续执行下面的代码
- 如果出现的问题没有被捕获,那么程序如何运行?
- 那么try…catch相当于没有写,那么也就是自己没有处理。
- 默认交给虚拟机处理
- 同时有可能出现多个异常怎么处理
- 出现多个异常,那么写多个catch就可以了
- 如果多个异常之间存在子父类关系。那么父类一定要写在下面
- 针对每种不同的异常可能会有不同的处理结果
- 如果try中没有遇到问题,怎么执行
-
-
e.printStackTrace();
- 把异常的错误信息打印输出在控制台(字体为红色)
-
自定义异常
-
继承后要写空参构造和无参构造
-
出现多个异常,那么写多个catch就可以了
- 如果多个异常之间存在子父类关系。那么父类一定要写在下面
- 针对每种不同的异常可能会有不同的处理结果
-
-
e.printStackTrace();
- 把异常的错误信息打印输出在控制台(字体为红色)
-
自定义异常
- 继承后要写空参构造和无参构造
-