================================================================================================
    1.Math类    java.lang包
        所有的属性和方法都是静态的  不需要创建对象
        abs()  max()  min()  ceil()  floor()  round()  sqrt()  pow()  random()
    2.Random类   java.util包
        需要导包  通过无参数构造方法创建对象
        nextInt();  nextInt(int bound);  nextFloat()  nextDouble()  nextBoolean();
    3.UUID类   java.util包
        UUID uuid = UUID.randomUUID();
        uuid.toString();   32位 16进制的元素
    4.BigInteger类   BigDecimal类    java.math包
        需要导包  通过带String参数的构造方法创建对象
        add()  substract()  multiply()  divide()    阶乘
        Decimal对象.setScale(位数,设置模式);设置小数点之后保留的位数
    5.DecimalFormat类   java.text包---->格式化
        导包使用  通过带String参数的构造方法创建对象   String-->一种格式
        DecimalFormat  df =  new  DecimalFormat("###.###");// #  0
        String value = df.format(123.45);//给定的数字格式化成上述的效果
================================================================================================
    包装类   数学相关
    Scanner类
    1.所属的包java.util包  需要import导包
    2.通过一个带输入流的构造方法创建对象
    3.常用方法    nextInt()  nextFloat()读到回车为止,不读回车

   next()空格结束,也读会车

  nextLine()都回车,但是会自动舍弃
    =============================================================================================
    System类
    1.所属的包java.lang包 不需要导入
    2.不需要创建对象  通过类名就可以访问
    3.有三个属性及若干的方法
        三个属性out   in   err
        方法gc()  exit(0);  currentTimeMillis();

    日期相关
    Date类
    1.通常使用的是java.util包
    2.导包 拿来使用  构建对象
    3.通常使用无参数的构造方法  或者带long构造方法
    4.Date类中常用的方法
        before();  after();
        setTime()  getTime();----->long
        compareTo();   -1  1  0
    5.可以处理一个Date日期的格式

===============================================================================================

    DateFormat类
    1.包java.text 需要导包使用
    2.此类是一个抽象类  不能创建对象   子类来使用
    3.SimpleDateFormat类   是DateFormat的子类
    4.调用带String参数的构造方法创建format对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String v = sdf.format(date1);//通过sdf对象将date1格式化成你描述的样子

    Calendar类   1.1版本
    1.所属的包java.util  需要导包
    2.有构造方法  用protected修饰的  通常访问不到   通常会调用默认的getInstance();
    3.常用方法
        after()  before()
        setTime()  getTime()---->Date
        getTimeInMillis()----time
        getTimeZone()---TimeZone
        Calendar里面包含一个date属性  可以操作date的某一个局部信息
        set   get
        calendar.set(Calendar.YEAR,2015);
                int year = calendar.get(Calendar.YEAR);

    TimeZone
    1.java.util包
    2.可以通过calendar对象.getTimeZone()获取  或   TimeZone.getDefault();
    3.常用方法
        tz.getID()       ---->    Asia/Shanghai
                tz.getDisplayName()   中国标准时间

===================================================================
    包装类--->1.5版本之后  自动拆装包装   String--int    Integer x = 1;
    数学相关->
    日期相关->Date 基本日期

    *字符串相关
    1.String类
    2.所属的包是java.lang包  不用导入
    3.找寻构造方法创建对象
        String s1 = "abc";
        String s2 = new String("abc");
        String是一个非常特殊的引用数据类型  可以像基本类型一样 创建 赋值
    4.String类的特性
    *5.String类中常用的方法 20+
    6.笔试中经常会考察大家关于String的特点

==与equals比较方法区别
    JAVA基础笔记——日期相关+String

================================================================================================

0.常见的String笔试题
            ==  equals方法的区别
                ==可以比较基本类型  可以比较引用类型
                     比较基本类型比较值 比较引用类型比较地址
                equals只能比较引用类型(方法)
                     默认比较地址this==obj 
                     如果想要修改其比较规则  可以重写equals方法
                     通常重写equals方法时会伴随着重写hashCode方法
                     比如String类  比如Integer
            *String的不可变特性
                长度及内容
            String与StringBuffer区别
            StringBuffer与StringBuilder区别
            String对象的存储
                "abc"---->字符串常量池
                new String("abc")--->堆内存
                "a"+"b"+"c"+"d"
            *String中常用的方法
        1.存在哪儿   java.lang包   
            没有任何继承关系  实现三个接口Serializable, CharSequence, Comparable<String>
        2.如何构建对象
            String str = "abc"; //直接将字符串常量赋值给str   (字符串常量池)
            String str = new String();//无参数构造方法创建空的对象
            String str = new String("abc");//带string参数的构造方法创建对象
            String str = new String(byte[] )//将数组中的每一个元素转化成对应的char 组合成String
            String str = new String(char[] )//将数组中的每一个char元素拼接成最终的String
        3.String的不可变特性
            String类中包含一个private final char[] value;
            体现在两个地方   长度及内容
            长度--->final修饰的数组   数组长度本身不变  final修饰数组的地址也不变
            内容--->private修饰的属性  不能在类的外部访问
        *4.常用的方法
            boolean = equals(Object obj);
                //继承自Object 重写啦  比较两个字串中的字面值是否相等
            int = hashCode();
                //继承自Object 重写啦  将当前字符串的每一个char元素拆开 乘以31求和
            int = compareTo(String str);
                //实现自Comparable接口  实现啦  按照字典(Unicode编码)索引的顺序比较
            String = toString();
                //继承自Object 重写啦 不再输出 类名@hashCode  字符串中的字面值
            --------------------------------------------------------------------
            char = charAt(int index);//"abc"   0-->a
                //返回给定index对应位置的那个char值
            int = codePointAt(int index);//"abc"   0-->97
                //返回给定index对应位置的那个char所对应的code码
            int = length();
                //返回字符串的长度
            String = concat(String);
                //将给定的字符串拼接在当前字符串之后

相关文章: