zoukankan      html  css  js  c++  java
  • java day6【科研半天】

    Object类

    toString() 
              返回该对象的字符串表示。

    直接打印对象的名字其实就是调用toString方法

    equals(Object obj) 
              指示其他某个对象是否与此对象“相等”。【boolean】。 

    基本数据类型:比较值

    引用数据类型:地址值

    默认比较地址,没有意义,所以重写,以比较对象属性

    问题: 隐藏多态【无法使用子类特有的内容】 

              Object obj = new Person(“name”, 19)

        所有,使用向下转型将OBJECT转型为person类(记得加上instanceof判断)

    Objects类

    提供了一些静态的使用方法,是null-save(空指针安全的)或者null-tolerant(容忍空指针的)

    拥有与计算对象的hashcode,返回对象的字符串表示形式,比较两个对象

    因为在比较两个对象时,object类容易抛出空指针异常

    public static boolean equals(object a, object b)

    Date类

    Date() 
              表示分配它的时间(精确到毫秒)。

    Date(long date) 
              表示自从标准基准时间即 1970 年 1 月 1 日 00:00:00 GMT以来的指定毫秒数。

    getTime() 
              返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

    private static void demo1() {

      Date date = new Date();
      ong time = date.getTime();
      System.out.println(time);
    }

     DateFormat类

    是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间

    java.text.DateFormat
    
    public abstract class DateFormatextends Format

    使用子类SimpleDateFormat

    format(Date date) 
              将一个 Date 格式化为日期/时间字符串。

    parse(String source) 
              从给定字符串的开始解析文本,以生成一个日期。

    private static void demo1() {
    SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
    Date date = new Date();
    String dString = simpleDateFormat.format(date);
    System.out.println(date);
    System.out.println(dString);
    //Tue Apr 14 20:10:36 CST 2020

    //2020-04-14 20-10-36




    }
    private static void demo2() throws ParseException {
    SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
    Date date = simpleDateFormat.parse("2020-04-14 19-57-56");
    System.out.println(date);

    //Tue Apr 14 19:57:56 CST 2020


    }

     练习,计算一个人出生了多少天

          1.获取当前时间的毫秒值

      2.获取自己出生日期对应的毫秒值

      3.相减

    private static void demo1() throws ParseException {
      System.out.println("input your birthday yyyy-MM-dd");
      Scanner sc = new Scanner(System.in);
      String birth_dateString = sc.next();

      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      Date d = sdf.parse(birth_dateString);
      long dd = d.getTime();
      
      Date date = new Date();
      long d_ = date.getTime();

      long ans = d_ - dd;
      long day = ans/(1000*60*60*24);
      System.out.println("you have born " + day + " days");
    }

    Calender类 【抽象类】

       无法直接创建对象使用,但有一个getInstance方法,返回子类对象

       Calendar calendar = Calendar.getInstance();

     常用方法

      int get(int filed):返回给定日历字段的值

       void set(int filed , int value):将给定的日历字段值设置为给定值

       abstract void add(int filed, int amout:添加或减去指定时间量)

      Date getTime() :返回一个表示此calender时间值的date对象

    public class DemoCalender {

    public static void main(String[] args) {

      Calendar calendar = Calendar.getInstance();
      int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);
      System.out.println(DAY_OF_MONTH);

      calendar.set(calendar.YEAR, 9999);


      calendar.add(calendar.YEAR, 2);
      int year = calendar.get(calendar.YEAR);
      calendar.add(calendar.DAY_OF_MONTH, -12);
      int day = calendar.get(Calendar.DAY_OF_MONTH);
      System.out.println(year);
      System.out.println(day);

      Date date = calendar.getTime();
      System.out.println(date);

    }

    }

    输出 

    14
    10001
    2
    Mon Apr 02 20:52:10 CST 10001

    system 类

    currentTimeMillis()
              返回以毫秒为单位的当前时间。

    arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
              从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

    练习:将【1,2,3,4,5】前三个数字复制到【6,7,8,9,10】,结果【1,2,3,9,10】


    public class SystemDemo {

      public static void main(String[] args) {
      int[] src = {1,2,3,4,5};
      int[] det = {6,7,8,9,10};
      System.arraycopy(src, 0, det, 0, 3);
      System.out.println(Arrays.toString(det));

    }

    }

  • 相关阅读:
    数据库设计 概念结构设计(以权限系统为例)
    sp_addlinkedserver使用方法
    动态页面静态化技术(很不错的教程摘录)
    C#获取硬件序列号
    [转]消息队列关于MSMQ的基础知识
    通过Image对象获取对象的格式
    历史项目的回忆 2008.04.27
    解决Access to Message Queuing system is denied.权限问题
    windows 输入法生成器 导出输入法的mb文件到txt
    [转载]C#版可调节的文字阴影特效
  • 原文地址:https://www.cnblogs.com/njuwyx/p/12701110.html
Copyright © 2011-2022 走看看