• 作业10


    1,简述String类中的equals方法与Object类中的equals方法的不同点。
    Object类的equals比较的是两个对象的地址
    String类的equals比较的是两个字符串的内容
    2,编写程序,(Scanner)当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几;

    public static void main(String[] args) throws ParseException {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入格式:“xxxx年xx月xx日”的日期");
        String str=sc.nextLine();
        SimpleDateFormat sun=new SimpleDateFormat("yyyy年MM月dd日");
        Date s=sun.parse(str);
        Calendar u=Calendar.getInstance();
        u.setTime(s);
        int year=u.get(Calendar.YEAR);
        int month=u.get(Calendar.MONTH)+1;
        int week=u.get(Calendar.DAY_OF_WEEK)-1;
        GregorianCalendar g=new GregorianCalendar();
        if (g.isLeapYear(year)) {
            System.out.println(year+"是闰年");
        }else {
            System.out.println(year+"不是");
        }
        int month_num=u.getActualMaximum(Calendar.DAY_OF_MONTH);
        if (week==0) {
            System.out.println("该月有"+month_num+"天,"+"该日是周日");
        }else {
            System.out.println("该月有"+month_num+"天,"+"该日是周"+week);
        }
    }

    3,计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数。

    public static void main(String[] args) throws ParseException {
        Scanner sc= new Scanner(System.in);
        System.out.println("请输入日期1:“xxxx-xx-xx”");
        String s=sc.nextLine();
        System.out.println("请输入日期2:“xxxx-xx-xx”");
        String u=sc.nextLine();
        SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
        Date n=sd.parse(s);
        Date n2=sd.parse(u);
        long i=0;
        if (n.after(n)) {
            i=n.getTime()-n2.getTime();
        }else {
            i=n2.getTime()-n.getTime();
        }
        long a=1000*60*60*24;
        long day=i/a;
        long week=day/7;
        
        System.out.println("两个日期相隔"+day+"");
        System.out.println("相隔"+week+"");
    }

    4,简述StringBuilder类与string类的区别
    String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间
    StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量
    5,计算自己出生了多少天?

    public static void main(String[] args) throws ParseException {
    //    获取出生日期
        Scanner sc=new Scanner(System.in);
        System.out.println("出生日期,格式:xxxx-xx-xx");
    String s=sc.next();
    //DateFormat类中方法parse,把字符串的出生日期,解析为Date格式
    SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
    Date birthday=sd.parse(s);
    //Dote格式出生日期转换毫秒值
    long birthdaydateTime=birthday.getTime();
    //当前日期转换毫秒值
    long todayTime=new Date().getTime();
    //毫秒值转换为天
    long time= todayTime-birthdaydateTime;
    System.out.println(time/1000/60/60/24);
    }

    6,求一个for循环 执行时间?

    
    

    public static void main(String[] args) {
    Date date=new Date();
    long time=System.currentTimeMillis();
    for (int i = 0; i <500000; i++) {
    System.out.println("sss");
    }
    long time2=System.currentTimeMillis();
    long time3=time2-time;
    System.out.println("一个for循环执行时间"+time3+"毫秒");
    }

     
  • 相关阅读:
    构造方法
    构造方法的重载
    封装的使用及演示代码
    static的用法及作用
    javaWeb链接数据库进行增删改查
    java面向对象接口小结
    多线程总结
    mysql数据查询
    mysql条件查询
    mysql查询数据
  • 原文地址:https://www.cnblogs.com/moranqingcheng/p/13881683.html
Copyright © 2020-2023  润新知