java常用类

Date类  Format               calendar类          System 类            StringBuilder 类                     包装类    基本类型和字符串的转换

Date类

  long time = System.currentTimeMillis()  返回1970 1-1 00:00:00(英国格林威治) 到当前的毫秒数  中国+8 所以是1970 1-1 08:00:00

  2. Date date = new Date();   获取一个英文时间          Thu Sep 05 09:38:14 CST 2019

 3.  date.getime();    把时间转换为毫秒          与System.currentTimeMillis() 一样 

 4.Date 有参构造方法         Date date = new  Date(0L)        把毫秒转换为时间   ---> 中国是  Thu Jan 01 08:00:00 CST 1970

Format

    Format抽象类 -->  子类 DateFormatMessageFormatNumberFormat 都是抽象方法  DateFormat 子类 SimpleDateFormat 

   SimpleDateFormat  中的  format 和 parse 成员方法       parse 方法必须指出  ParseException 异常

        Date date = new Date();
        SimpleDateFormat sdf= new SimpleDateFormat("yyyy年-MM月-dd日 HH时:mm分:ss秒"); String类型
        String time = sdf.format(date);              2019年-09月-05日 09时:57分:42秒
        System.out.println(time);
        Date date1 = sdf.parse("2018年-08月-08日 16时:05分:11秒");        Date类型
        System.out.println(date1);                   Wed Aug 08 16:05:11 CST 2018

calendar类

   一个抽象类  但是有一个静态方法      

Calendar calendar = Calendar.getInstance();
//        System.out.println(calendar);                java.util.GregorianCalendar[time=1567653246124,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=8,WEEK_OF_YEAR=36,WEEK_OF_MONTH=1,DAY_OF_MONTH=5,DAY_OF_YEAR=248,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=11,HOUR_OF_DAY=11,MINUTE=14,SECOND=6,MILLISECOND=124,ZONE_OFFSET=28800000,DST_OFFSET=0]
        calendar.set(Calendar.YEAR,2020);
        calendar.set(Calendar.MONTH,2);
        calendar.set(Calendar.DATE,6);
        int year = calendar.get(Calendar.YEAR);        2020
        int month = calendar.get(Calendar.MONTH);      2   西方的月份
        int i = calendar.get(Calendar.DATE);           6       日
        Date date = calendar.getTime();                1567653246124 毫秒数

      calendar.set(2018,8,6); 也可以同时设置 年月日

 System 类

        int[] src = {1,2,3,4};
        int[] dest = {5,6,7,8};
        System.out.println("复制前: "+ Arrays.toString(dest));
        System.arraycopy(src,0,dest,0,2);   源数组 起始位置 目标数组 起始位置 复制个数
        System.out.println("复制后: "+Arrays.toString(dest));    复制后: [1, 2, 7, 8]

StringBuilder 类

    字符串是常量,它的值再创建后不能更改. 字符串的底层是一个被final修饰 的数组,不能改变,是一个常量

    private final byte[ ];    字符串的效率低下, String  str = " a" +"b " +"c ";  --->首先创建三个内存 --> "ab"  又创建一个--->"abc"又        创建一个.   最后五个内存,所以浪费内存.   

    所以使用 StringBuilder   字符缓冲区,可以提高字符串的操作效率(长度可变的字符串) 底层 byte[ ] value = new byte[16]

    StringBuilder在内存中始终是一个数组,占用空间少,效率高,如果超出了StringBuilder 的容量,会自动的扩容.

   构造方法:  1.StringBuilder( )   构造一个不带任何字符串生成器,其初始容量为16个字符,

                     2. StringBuilder()   构造一个生成器,并初始化为指定的字符串内容.

StringBuilder bu1= new StringBuilder();
StringBuilder bu3 = bu1.append("2");        bu1==bu3 true append返回的是this  把bu1的地址给了bu3
StringBuilder bu2 = new StringBuilder("wyc");
bu2.append("dgha").append('中');.append(true).append(8.8).append(5);  wycdgha中true8.85   链式操作可append任意数据

StrinBuilder 可以和 String 任意转换

  1. String ---> StringBuilder  直接往StringBuilder   构造方法中放String 对象  StringBuilder strb = new StringBuilder("dhasdh");

  2.StringBuilder ---> String   调用StringBuilder 对象的成员方法   toString()

StringBuilder bu2 = new StringBuilder("wyc");
bu2.append("dgha").append(true).append(8.8).append(5).append('中');
String str = bu2.toString();     wycdghatrue8.85中
 

包装类

   基本数据类型无法使用成员方法 操作  , 把基本数据类型 放进一个箱子包装为一个类 称为包装 ,然后可以使用类中的方法

   1. 以 整数为例   包装   int --> integer

       1.构造方法  Integer integer = new Integer(1);            Integer integer2 = new Integer("1");  过时的方法

       2.静态方法  Integer integer3= Integer.valueOf(1);     Integer integer4= Integer.valueOf("1");

  2.拆箱   integer ---> int    

         Integer integer = new Integer(1);         int anInt = integer.intValue();

  3.注意java 的包装 和拆箱是自动的    包装   Integer in = 1 ;    相当于    Integer in = Integer.valueOf(1);

                                                             拆箱     int  = in +1 ;     相当于    int  in = in.intValue();    再加1

  基本类型和字符串的转换

    int anInt = 5;
    String str = anInt+"";                    //自动转换
    String str2 = Integer.toString(anInt);   //Integer 的方法
    String str3 = String.valueOf(anInt);   //String 的方法 是一个重载方法
//    字符串 --> int    
    int a = Integer.parseInt("15");       //"a" 报错

   

  

  

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值