今日学习总结
1、内部类
2、Math类常用方法
3、System类常用方法
4、Object类
5、冒泡排序
6、Arrays类
7、基本类型包装类
8、 int和String的相互转化
9、字符串中的数据排序
1、内部类
*A.内部类:就是在一个类中定义一个类
*B.内部类的访问特点
*a.内部类可以直接访问外部类的成员,包括私有
*b.外部类要访问内部类的成员,必须创建对象
*C.内部类的分类
*a.在类的成员位置:成员内部类
*格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;
*范例:Outer.Inner oi = new Outer( ).new Inner( );
oi.show();
*b.在类的局部位置:局部内部类 //方法体内
*可以直接访问外部类成员,也可以访问方法内的局部变量
*匿名内部类:存在一个类或者接口,这里的类可以使具体类也可以是抽象类
*格式:new 类名或者接口名(){
重写方法;
}
2、Math类常用方法
3、System类常用方法
4、Object类
*A.Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或间接继承自该类
*构造方法:public Object();
*B.看方法的源码,选中方法,Ctrl+B
*C.toString方法
*建议所有子类重写此方法 //自动生成:alt+insert
*D.equals方法
*建议所有子类重写此方法 //自动生成:alt+insert
5、冒泡排序
*A.一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据
进行操作,直至所有数据按要求完成排序
*B.*如果有n个数进行排序,总共需要比较n-1次,每一次比较完毕,下一次比较就会少一个数据参与
*C.双重for循环
6、Arrays类
*包含用于操作数组的各种方法。
工具类设计思想:
*构造方法用private修饰
*成员用public static修饰
7、基本类型包装类
Java 中预定义了八种基本数据类型,包括:byte,int,long,double,float,boolean,char,short
。基本类型与对象类型最大的不同点在于,基本类型基于数值,对象类型基于引用。
基本类型的变量在栈的局部变量表中直接存储的具体数值,而对象类型的变量则存储的堆中引用。
显然,相对于基本类型的变量来说,对象类型的变量需要占用更多的内存空间。
8、 int和String的相互转化
*A. int---->String
*a.方式一:
int number = 100;
String s1 = “” + number;
*b.方式二:
int number = 100;
String s2 = String.valueOf(number);
*B.String --->Int
*a.方式一://String --->Integer---->Int
String s = “100”;
Interger i = Integer.valueOf(s);
int x = i.intValue();
*b.方式二:
int y = Integer.parseInt(s);
9、字符串中的数据排序
*A.思路
*1. 定义一个字符串
*2.把字符串中的数据存储到int类型数组中
如何得到字符串中每一个数字数据?
public String[ ] split(String regex) //regex为分隔符
定义一个int数组,把String[ ]数组中的每一个元素存储到int数组中
public static int parseInt(String s)
*3.对int数字排序
*4.把排序后的int数组中的元素采用StringBuilder进行拼接
*B.代码
String s = “91 27 46 38 50”
String[ ] strArray = s.split(“ ”) ; //以“ ”作为分隔符,将元素分割存入数组
int[ ] arr = new int[strArray.length];
for(int i=0;i<arr.length;i++){
arr[i] = Integer.parseInt(strArray[i]);
}
Array.sort(arr); //排序
StringBuilder sb = new StringBuilder();
for(i=0;i<arr.length;i++){
if(i = arr.length-1){
sb.append(arr[i]);
}
else{
sb.append(arr[i]).append(" ");
}
}
10、自动装箱和拆箱
*A.概念
*a.装箱:把基本数据类型转换为对应的包装类类型
* 如:Integer i = Integer.valueOf(100);
*b.自动装箱:
*如: Integer ii = 100;
*c.拆箱:把包装类类型转换为对应的基本数据类型
*如: Integer ii = 100; //若 Integer ii = NULL ,报错
ii = ii.intValue() + 200;
*d.自动拆箱:
*如: Integer ii = 100;
if(ii !=NULL) ii + = 200;