安卓培训(java篇)第八天—常用类(下)和异常

  1. Math数学类:里面所有方法都是static;

    常用方法:

    abs 绝对值

    sqrt 平方根

    pow(double a, double b) a的b次幂

    max(double a, double b) 比较两个数中谁大

    min(double a, double b) 比较两个数中谁小

    random() 返回0.0到1.0的随机数,但不能取到1

    long round(double a) double型的数据a转换为long型(四舍五入)


  2. Random伪随机类(所有的方法都来自Math.random()这个方法)

    常用构造方法:new Random();

    常用方法:nextInt(int i) 0到i-1 返回类型是int类型;

    注意事项:做项目时,一般用伪随机类,因为它里面的方法更灵活;但如果从内存角度分析,则考虑选择Math.random();

     

  3. Date类:java.util.Date:获取当前系统时间;System.out.println(new Date());此时按照系统的格式;


  4. Format--DateFormat--SimpleDateFormat;表示日期的格式

    SimpleDateFormat常用的构造方法:new SimpleDateFormat(String regx);//日期格式;

    SimpleDateFormat常用的方法:

    format(Date date);返回String类型;

    parse(String str);返回Date类型(把给定的字符串str解析成日期格式,必须跟regx一致)

    常用的字段:



  5. Calendar是一个抽象类:

    对象创建:Calendar c=Calendar.getInstance();获取当前的系统时间

    常用方法:

    get(int a); 返回int类型,a表示字段



    setTime(Date date);无返回值;

    getTime(); 返回Date类型;

    add(当前月中的天数,相差的天数);可以输出前推或后移日期的当前时间


  6. System(从C++演变而来)

    常用方法:

    arrayCopy(5个参数)

    exit(int i);当i=0时,表示正常退出(Java虚拟机),否则非正常退出;

    currentTimeMillis();可以用它来测试程序的执行时间,注意单位是毫秒;


  7. 异常 即不正常

    分类:编译时异常、运行时异常和错误之间的理解:

    Error:称为错误,由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理。

    Exception:所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显示地声明或捕获。

    Runtime Exception:一类特殊的异常,如被0除、数组下标超范围等,其产生比较频繁,处理麻烦,如果显示地声明或捕获将会对程序可读性和运行效率影响很大。因此有系统自动检测并将它们交给却省的异常处理程序(用户可不必对其处理)。

    语法:

    try{

        <尝试捕获异常信息>

}catch(异常类  异常对象名){

    <捕获到异常信息(printStackTrace();),也可以自定义异常信息(System.out.println(..))>

}finally{

    <一定会被执行语句块>

}

public void f() throws 异常类名{} //类似与try{}catch(){},但不能自定义异常信息

public void f(){

    throw 异常类对象; //此时一定要抛出异常信息

}

注意事项:

try{

}catch(异常类1){


}catch(异常类2){


}...

异常类2>异常类1, 子类在前,父类在后

异常父类:class Exception extends Throwable{};  

getMessage(); 返回值来自构造方法里面的形参;

例:

public void f(){

    try{

        throw new Exception("abc");

    }catch(Exception e){

        System.out.println(e.getMessage());  //输出abc

    }

}


课后练习:

已知有一个数组int[] a={1,2,3,4,5,6,7,8,9};

(1)利用Random做一个这样的验证码:随机数1+随机数2=? 比如:1+2=?

(2)算出它的值,并用Scanner输入值,判断输入的值是否正确;


代码:

public class YangZhengMa{

    public static void main(String[] args){

        int[] a={1,2,3,4,5,6,7,8,9};

        Scanner s = new Scanner(System.in);

        Random r = new Random();

        for(int i = 0; i < 2; i++){

            a[i] = r.nextInt(9);

        }

       while(true){

           System.out.print(a[0] + "+" + a[1] + "=");

           if(a[0] + a[1] == s.nextInt()){

               System.out.println("OK"); 

               break;   

            }else{

               System.out.println("重输");

            }

        }    

    }

}






本文出自 “” 博客,请务必保留此出处http://linyingkun.blog.51cto.com/2393912/1575177

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。