zoukankan      html  css  js  c++  java
  • java回顾之API初体验

    java回顾之API初体验

    一、Object类

    java.lang.Object类是java语言中的根类,祖宗类。所有的类都直接或间接的继承自Object。

    在对象实例化的时候,最终找到的父类就是Object。

    1.2、equals()方法判断是否相等

    ==号:

    判断基本数据类型时判断的是值是否相等,判断引用数据类型是判断的是地址值是否相等

    equals()

    是objec类的一个方法,判断的是两个对象是否相同

    无论用哪种方法,建议将常量放在等号的左边,以防止出现空指针或者不报编译错误的错误

    1.3、toString()方法

    重写toString可以将对象具体的值打印出来,而不是只打印地址,后面可以配合注解使用。

    1.4、native关键字

      native用来修饰方法,此方法是本地方法,表用调用了非java方法,在java中无法显示,所以无法查看源码

    二、日期类Date

    public Date()     new Date()     将当前的系统时间,转换成Date对象

    public Date(long date)  new Date(1000)   将指定参数的毫秒值,转换成Date对象

      

      Date d =new Date 

      getTime()  获取时间对象的毫秒值   d.getTime()

      setTime(long time)   设置时间对象的毫秒值 d.setTime(1000)

      before(Date date)     判断当前对象是否在参数时间之前

      after(Date date) 判断当前对象是否在参数时间之后

    2.2、日期格式化类DateFormat

      DateFormat是一个抽象类。这个类的功能是对日期格式进行改变,还可以对String字符串类型和Date日期类型做互相转换。

      String format(Date date)      格式化:将Date对象转换为Stirng对象

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

      Date date =new Date();

      sdf.format(d);

      Date parse(String s)     将String对象转换为Date对象

      Date date=sdf.parse(s)

    2.3 日历类Calendar

    Calendar把和时间相关的值都变成了字段,可以更加方便的对各种值进行单独的操作

    创建对象有两种方法,一种是直接创建子类GregorianCalendar

    GregorianCalendar  gc = new GregorianCalendar();

    一种是调用静态方法

    Calendar c=Calendar.getInstance();

    方法说明
    int get(int field) 获取某个字段的值
    void set(int field,int value) 设置某个字段的值
    void add(int field,int amount) 偏移某个字段的值(加减)
    setTime(Date date) 把Date对象转成Calendar对象

    Calender中定义的常量:

    Calendar.YEAR : 年
    Calendar.MONTH :月
    Calendar.DAY_OF_MONTH:日期
    Calendar.HOUR:小时
    Calendar.MINUTE:分钟
    Calendar.SECOND:秒
    Calendar.DAY_OF_WEEK:星期

    举例说明:

    获取对象

      Calendar c=Calendar.getInstance();  //代表当前系统时间

    获取某个字段的值

      int year=c.get(Calendar.YEAR);

    //获取月,在日历对象内部,保存月份用的是0-11,所以去除月份要+1;

      int month = c.get(Calendar.MONTH);
      System.out.println(month+1);

    //获取日期
      int day = c.get(Calendar.DAY_OF_MONTH);
      System.out.println(day);

    //获取小时
      int hour = c.get(Calendar.HOUR_OF_DAY);
      System.out.println(hour);

    //获取分钟
      int minute = c.get(Calendar.MINUTE);
      System.out.println(minute);

    //获取秒
      int second = c.get(Calendar.SECOND);
      System.out.println(second);

          //获取星期!!!日历类里面保存星期是以星期日作为一周的第1天,星期一就是第2天,所以可以将星期定义成数组,下标正好对应正确的星期。

    //定义数组
      String[] arr = {" ","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

      数组的下标 0         1             2           3           4            5              6            7

    日历内部存储      1      2       3    4    5   6         7

      比如今天是星期一,内部返回的值是2,如此取值,星期就不会错了。

    //获取星期

      int i = c.get(Calendar.DAY_OF_WEEK); // 1-7

    set()和add()方法演示 

      //把年设置成2000年
      c.set(Calendar.YEAR,2000);
      //把月设置成10月
      c.set(Calendar.MONTH,9);

      //让年加10
      c.add(Calendar.YEAR,10);
      //让日减6
      c.add(Calendar.DAY_OF_MONTH,-6);

      setTime(Date date)方法演示 

      //把Date的时间赋值给Calendar
      Calendar c = Calendar.getInstance();

      c.setTime(d);

    2.4Math类

      Math表示数学,和数学相关的一些计算方法在这个类中

      

    方法说明
    static int abs(int a) 获取绝对值
    static double ceil(double a) 向上取整
    static double floor(double a) 向下取整
    static double pow(double a, double b) 获取a的b次方
    static long round(double a) 四舍五入

      //获取绝对值

      System.out.println(Math.abs(3)); //3
      System.out.println(Math.abs(-4)); //4

      向上取整

      Math.ceil(3.14)//4.0

      向下取整

      Math.floor(3.14)//3.0

      获取a的b次方

      Math.pow(2,3)//2的3次方 8.0

      四舍五入

      Math.round(4.45)  4

      Math.round(4.5)   5

    2.5、System

    方法说明
    static void exit(int status) 退出虚拟机,0表示正常退出
    static long currentTimeMillis() 获取当前时间的毫秒值
    static void arrayCopy() 数组中元素的复制

      

        //退出虚拟机,0表示正常退出

         System.exit(0);

      //获取当前时间的毫秒值

      long time = System.currentTimeMillis();

      System.out.println(time);

      

      //数组中元素的复制
      int[] arr = {11,22,33,44,55,66};
      int[] brr = new int[6];
      /*
      Object src 原数组
      int srcPos 原数组开始索引
      Object dest 目标数组
      int destPos 目标数组开始索引
      int length 复制的个数
      */
      System.arraycopy(arr,1,brr,0,3);  从arr下标1开始复制3个数字到brr从下标0开始

      

      int[] crr = {11,22,33,44,55};

      System.arraycopy(crr,2,crr,0,3); 从crr2开始,复制三个数到0开始

      //33 44 55 44 55 

      

  • 相关阅读:
    Linux 下没有 my.cnf 文件的解决方式,完全是我自己整的,好多教程都是瞎扯的 (zhuan)
    Virtualbox虚拟机安装CentOS6.5图文详细教程(zhuan)
    virtualbox中centos系统配置nat+host only上网(zhuan)
    VirtualBox的网络配置,Host Only+NAT方式 (zhuan)
    Linux上安装Mysql后除了本机其他机器不能访问的问题(zhuan)
    VirtualBox没有64位选项,无法安装64位的解决方法(zhuan)
    CentOS查看内核版本,位数,版本号 (zhuan)
    datagrid实现单行的选择、取消
    datagrid实现行的上移和下移
    Excel 、数据库 一言不合就转换 (zhuan)
  • 原文地址:https://www.cnblogs.com/gushiye/p/13746962.html
Copyright © 2011-2022 走看看