Java学习:coursera课程笔记(三)

仅为笔记,不是教程

异常

  • 简单例子

这里写图片描述

  • 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;
    }
}

递归算法

这里写图片描述

回溯算法

这里写图片描述

源代码,可能被墙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值