仅为笔记,不是教程
异常
- 简单例子
- Java中的异常处理
- 相关语句
- 异常分类
- Exception类
- 多异常处理
- 受检的异常
- 异常链接
- 断言:需要加
-ea
- assert 编译及运行的注意事项
- JUnit: 测试驱动
- 测试函数
- 程序中的错误
- 调试手段
工具类
- Java基础类
Object类
- Object.equal()
- Object.getClass()
- Object.toString() : 经常被重载
- Object.finalize()
- Object的其它方法
基本数据类型的包装类
- 包装类的特点
- 包装与拆包
Math类
System类
- 处理字符串的工具类
String类
Stringbuffer类
- 字符串的分割
日期类
时间类(java 1.8)
Collection API三大类
Collection接口
Collection UML图
List接口
迭代器
增强for语句迭代
Stack类
Queue接口
几个其它接口
Set
Map
Map的层次
排序与查找
Array类排序方法
关于比较
Collections类
import java.util.*;
class TestCollectionsSortByLambda
{
public static void main(String[] args)
{
List<Person> school = new ArrayList<>();
school.add( new Person("Li",23));
school.add( new Person("Wang",28));
school.add( new Person("Zhang",21));
school.add( new Person("Tang",19));
school.add( new Person("Chen",22));
school.add( new Person("Zhao",22));
System.out.println( school );
Collections.sort( school, (p1,p2)->p1.age-p2.age );
System.out.println( school );
int index = Collections.binarySearch(
school, new Person("Li",23), (p1,p2)->p1.age-p2.age );
if( index >=0 )
System.out.println( "Found:" + school.get( index ));
else
System.out.println( "Not Found!" );
}
}
class Person
{
String name;
int age;
public Person( String name, int age){
this.name=name;
this.age=age;
}
public String toString(){
return name+":"+age;
}
}
泛型
自定义泛型
import java.util.*;
class GenericMethod {
public static void main(String[] args){
Date date = BeanUtil.<Date>getInstance("java.util.Date");
System.out.println(date);
}
}
class BeanUtil{
public static <T> T getInstance( String clzName ){
try
{
Class c = Class.forName(clzName);
return (T) c.newInstance();
}
catch (ClassNotFoundException ex){}
catch (InstantiationException ex){}
catch (IllegalAccessException ex){}
return null;
}
}
对泛型的限定
常用算法
遍试算法(枚举)
迭代算法
//求平方根
public class Sqrt
{
public static void main(String args[]){
System.out.println( sqrt( 98.0 ) );
System.out.println( Math.sqrt(98.0) );
}
static double sqrt( double a ){
double x=1.0;
do{
x = ( x + a/x ) /2;
System.out.println( x + "," + a/x );
}while( Math.abs(x*x-a)/a > 1e-6 );
return x;
}
}