zoukankan      html  css  js  c++  java
  • day11

    1,简述String类中的equals方法与Object类中的equals方法的不同点。

    Object 类
    1,它是所有类的一个根类
    2,其他类默认继承Object类
    常用方法:
    1,toString();
    在实际的开发中,我们一般来重写 toString(),之后用来显示属性的值
    2,equals()
    默认比较的是地址
    在实际的开发中,我们一般来重写 equals,之后用来比较对象的内容是否相等
    1,包路径 2,创建对象


    2,编写程序,(Scanner)当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几;

    复制代码
    package com.hp.aaa;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Scanner;
    
    public class Demo1 {
        public static void main(String[] args) throws ParseException {
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入时间 年-月-日");
            String date1 = sc.next();
            SimpleDateFormat sim=new SimpleDateFormat("yyyy年MM月dd日");
    
            Calendar cal=Calendar.getInstance();
            cal.setTime(sim.parse(date1));
            int i = cal.get(Calendar.YEAR);
            if (i%4 == 0&&i%100!=0) {
                System.out.println("为闰年");
            }else {
                System.out.println("不为闰年");
            }
    
            int i1 = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
            System.out.println("该月有"+i1+"天");
            System.out.println("该日是星期"+cal.get(Calendar.DAY_OF_WEEK));
        }
    }
    复制代码


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

    复制代码
    package com.hp.aaa;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class Demo2 {
        public static void main(String[] args) throws ParseException {
            String date1="2018年2月1日";
            String date2="2020年2月2日";
            SimpleDateFormat sim=new SimpleDateFormat("yyy年MM月dd日");
            Date date3 = sim.parse(date1);
            Date date4 = sim.parse(date2);
            long time = date3.getTime();
            long time1 = date4.getTime();
            long time2=time1-time;
            long day=time2/1000/60/60/24;
            long week=day/7;
            System.out.println("天数是:"+day);
            System.out.println("周数是:"+week);
        }
    }
    复制代码


    4,简述StringBuilder类与string类的区别

    String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。

    StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值,当修改 StringBuilder 时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。可以使用重载的构造函数之一来指定 StringBuilder 类的容量。

    总结后大概为这3点:

    string 对象是恒定不变的,stringBuider对象表示的字符串是可变的。stringBuilder是.net提供的动态创建string的高效方式,以克服string对象恒定性带来的性能影响。

    对于简单的字符串连接操作,在性能上stringBuilder并不一定总是优于string。因为stringBuider对象创建代价较大,在字符串目标连接较少的情况下,过度滥用stringBuilder会导致性能的浪费,只有大量的或者无法预知次数的字符串操作,才考虑stringBuilder来实现。

    当修改字符串信息时,此时不许创建对象,可以使用stringBuilder对象。


    5,计算自己出生了多少天?

    复制代码
    package com.hp.aaa;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Scanner;
    
    public class Demo3 {
        public static void main(String[] args) throws ParseException {
            Scanner sc=new Scanner(System.in);
            System.out.println("输入出生的时间:");
            String date1 = sc.next();
            SimpleDateFormat sim = new SimpleDateFormat("yyyy年MM月dd日");
            Date time1 = sim.parse(date1);
            long l = System.currentTimeMillis();
            Date date2=new Date(l);
    
            long time2 = date2.getTime();
            long time3 = time1.getTime();
    
            long l1 = time2-time3;
            System.out.println("出生了"+l1/1000/60/60/24+"天");
    
    
    
        }
    }
    复制代码


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

    复制代码
    package com.hp.aaa;
    
    import java.util.Date;
    
    public class Demo4 {
        public static void main(String[] args) {
            Date date=new Date();
            long time = System.currentTimeMillis();
            for (int i = 0; i <500000 ; i++) {
                System.out.println("aaa");
            }
            long time1 = System.currentTimeMillis();
            long time2=time1-time;
            System.out.println("一个for循环 执行时间"+time2+"毫秒");
        }
    }
    复制代码
  • 相关阅读:
    Oracle11g工具
    Oracle数据库中scott用户的所有表结构
    Oracle数据库手动解锁scott用户
    Oracle数据库实例的删除和安装
    Oracle数据库的安装
    Oracle数据库发展历史
    禁止浏览器中双击选中元素的解决方法
    Window 设置pm2开机自启动服务
    通过node创建web服务器----express插件打包上线
    vue项目优化----通过externals加载外部CDN资源
  • 原文地址:https://www.cnblogs.com/csk001/p/13890407.html
Copyright © 2011-2022 走看看