叨逼叨两句

  1. 不容易,白天被叫去帮忙,不得已晚上来挑灯夜战,熬到2点,总算完成任务了。
  2. 我打算下周开始换一个更新时间,每次把deadline设置为晚上12点,都会接近或者超过这个时间,之后改成中午12点为警戒线,晚上6点为deadline,这样可以倒逼自己的身体去早点完成任务,不至于晚上熬夜影响第二天的工作学习。

14-(13-21):常用类

System

  1. public static void gc():提醒垃圾回收器执行finalize()方法回收垃圾。【finalize()方法不能由程序员手动调用,只能由垃圾回收器来调用】


    package com.test.regex; public class Demo14 {
    public static void main(String[] args) {
    for(int i = 0; i < 1000; i++){
    new Demo();
    System.gc();
    }
    }
    } class Demo {
    public void finalize(){
    System.out.println("垃圾被清扫了");
    }
    }
  2. public static void exit(int status)

    1. 将状态码设置为0,是正常终止当前运行的JVM
    2. 将状态码设置为非0,是异常终止当前运行的JVM
        package com.test.regex;
    
    public class Demo15 {
    public static void main(String[] args) {
    System.exit(0);
    System.out.println("111111");
    }
    }
  3. public static long currentTimeMillis()

    package com.test.regex;
    
    public class Demo15 {
    public static void main(String[] args) {
    long start = System.currentTimeMillis();
    for (int i = 0; i < 1000 ; i++) {
    System.out.println(i);
    }
    long end = System.currentTimeMillis();
    System.out.println(end - start);
    }
    }
  4. public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

    package com.test.regex;
    
    public class Demo15 {
    public static void main(String[] args) {
    int[] src = {11,22,33};
    int[] dest = new int[8];
    for (int i = 0; i < dest.length; i++) {
    System.out.println(dest[i]);
    } System.arraycopy(src, 0, dest, 0, src.length);
    System.out.println("--------------"); for (int i = 0; i < dest.length; i++) {
    System.out.println(dest[i]);
    } }
    }

BigInteger

不可变的任意精度的整数

  1. public BigInteger add(BigInteger val):加
  2. public BigInteger subtract(BigInteger val):减
  3. public BigInteger multiply(BigInteger val):乘
  4. public BigInteger divide(BigInteger val):除
  5. public BigInteger[] divideAndRemainder(BigInteger val)
package com.test.regex;

import java.math.BigInteger;

public class Demo15 {
public static void main(String[] args) {
BigInteger bi1 = new BigInteger("100");
BigInteger bi2 = new BigInteger("2"); System.out.println(bi1.add(bi2)); //+
System.out.println(bi1.subtract(bi2)); //-
System.out.println(bi1.multiply(bi2)); //*
System.out.println(bi1.divide(bi2)); ///(除) BigInteger[] arr = bi1.divideAndRemainder(bi2); for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
} }
}

BigDecimal

  1. float和double类型运算时非常容易丢失精度

    package com.test.regex;
    
    public class Demo15 {
    public static void main(String[] args) {
    System.out.println(2.0-1.1);
    }
    }
  2. BigDecimal是不可变的、任意精度的有符号十进制数。
  3. 加减乘除和BigInteger相同

    package com.test.regex;
    
    import java.math.BigDecimal;
    
    public class Demo15 {
    public static void main(String[] args) { BigDecimal bd1 = new BigDecimal(2.0);
    BigDecimal bd2 = new BigDecimal(1.1);
    System.out.println(bd1.subtract(bd2)); //开发不推荐,依然不精确 BigDecimal bd3 = new BigDecimal("2.0");
    BigDecimal bd4 = new BigDecimal("1.1");
    System.out.println(bd3.subtract(bd4)); //开发推荐 BigDecimal bd5 = BigDecimal.valueOf(2.0);
    BigDecimal bd6 = BigDecimal.valueOf(1.1);
    System.out.println(bd5.subtract(bd6)); //开发推荐 }
    }

Date

  1. Date():空参构造表示当前时间。
  2. Date(long date):有参构造表示特定瞬间,精确到毫秒。
package com.test.regex;

import java.util.Date;

public class Demo15 {
public static void main(String[] args) { Date d1 = new Date();
System.out.println(d1); Date d2 = new Date(0);
System.out.println(d2); }
}
  1. public long getTime():返回毫秒数

    package com.test.regex;
    
    import java.util.Date;
    
    public class Demo15 {
    public static void main(String[] args) {
    Date d1 = new Date();
    System.out.println(d1.getTime()); //用Date对象来获取当前时间的毫秒值
    System.out.println(System.currentTimeMillis());//用System对象来获取当前时间的毫秒值
    }
    }

  1. public void setTime(long time):
package com.test.regex;

import java.util.Date;

public class Demo15 {
public static void main(String[] args) {
Date d1 = new Date();
d1.setTime(1000);
System.out.println(d1);
}
}

SimpleDateFormat

  1. DateFormat是SimpleDateFormat的父类
package com.test.regex;

import java.text.DateFormat;

public class Demo15 {
public static void main(String[] args) {
//DateFormat df = new DateFormat(); //DateFormat是抽象类,无法创建实例
DateFormat df1 = DateFormat.getDateInstance(); //相当于父类引用指向子类对象,右边的方法返回一个子类对象
}
}
  1. 将日期对象转换为时间字符串
package com.test.regex;

import java.text.SimpleDateFormat;
import java.util.Date; public class Demo15 {
public static void main(String[] args) {
Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat(); //创建日期格式化类对象
System.out.println(sdf.format(d)); //17-8-10 上午1:02 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf2.format(d));//2017/08/10 01:04:53 }
}
  1. 将时间字符串转换为日期对象
package com.test.regex;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class Demo15 {
public static void main(String[] args) throws ParseException {
String str = "2000年08月08日08:08:08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
Date d = sdf.parse(str);
System.out.println(d);
}
}

练习

package com.test.regex;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class Demo15 {
public static void main(String[] args) throws ParseException {
String birthday = "1990年5月21日";
String today = "2090年6月6日";
SimpleDateFormat sdf = www.rcsx.org new SimpleDateFormat("yyyy年MM月dd日");
Date d1 = sdf.parse(birthday);
Date d2 = sdf.parse(today);
long time = d2.getTime() - d1.getTime();
System.out.println(time/1000/60/60/24/365); }
}

Calendar

  1. public static Calendar getInstance()
  2. public int get(int field)
package com.test.regex;

import java.util.Calendar;

public class Demo15 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR)); // 返回年
System.out.println(c.get(Calendar.MONTH)); //返回月,0代表1月
System.out.println(c.get(Calendar.DAY_OF_MONTH)); // 月中的第几天
System.out.println(c.get(Calendar.DAY_OF_WEEK)); // 一周的第几天,周日是1
System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+
"日"+getWeek(c.get(Calendar.DAY_OF_WEEK)));
System.out.println(c.get(Calendar.YEAR)+"年"+getNum(c.get(Calendar.MONTH)+1)+"月"+getNum(c.get(Calendar.DAY_OF_MONTH)
)+"日"+getWeek(c.get(Calendar.DAY_OF_WEEK))); } public static String getWeek(int week){
String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return arr[week];
} public static String getNum(int num){
if(num > 9){
return "" + num;
} else {
return "0" + num;
}
} }
  1. public void add(int field,int amount)
  2. public final void set(int year,int month,int date)
package com.test.regex;

import java.util.Calendar;

public class Demo15 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//c.add(Calendar.YEAR, -1); //对指定字段进行操作,加或者减
//c.set(Calendar.YEAR,2000); //对指定字段进行设置
c.set(2000,8,8); //年、月、日 System.out.println(c.get(Calendar.YEAR)+"年"+getNum(c.get(Calendar.MONTH)+1)+"月"+getNum(c.get(Calendar.DAY_OF_MONTH)
)+"日"+getWeek(c.get(Calendar.DAY_OF_WEEK)));
} public static String getWeek(int week){
String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return arr[week];
} public static String getNum(int num){
if(num > 9){
return "" + num;
} else {
return "0" + num;
}
} }

练习:键盘录入任意一个年份,判断是闰年还是平年

 
package com.test.regex;

import java.util.Calendar;
import java.util.Scanner; public class Demo16 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份,判断该年份是闰年还是平年:");
//int year = sc.nextInt();
String line = sc.nextLine();
int year = Integer.parseInt(line);
boolean b = getYear(year);
System.out.println(b);
} public static boolean getYear(int year) {
Calendar c = Calendar.getInstance();
c.set(year, 2,1);
c.add(Calendar.DAY_OF_MONTH, -1);
return c.get(Calendar.DAY_OF_MONTH) == 29;
}
}

【185天】黑马程序员27天视频学习笔记【Day14-下】的更多相关文章

  1. 【1天】黑马程序员27天视频学习笔记【Day02】

    02.01常量的概述和使用 * A:什么是常量    * 在程序执行的过程中其值不可以发生改变 * B:Java中常量的分类    * 字面值常量    * 自定义常量(面向对象部分讲) * C:字面 ...

  2. 【黑马程序员C++ STL】学习记录

    黑马程序员 2017 C++ STL 教程(STL 部分已完结) 基于黑马STL课程整理:黑马程序员2017C++STL教程 视频链接 专栏:本STL专栏目录 文章目录 黑马程序员 2017 C++ ...

  3. 黑马程序员_Java基础视频-深入浅出精华版--PPT 文件列表

    \day01\code\第一章_Java概述.ppt;\day01\resource\资料\50道编程题(有精力的同学看看).doc;\day01\resource\资料\Sun_Java程序员认证考 ...

  4. 黑马程序员_Java基础视频-深入浅出精华版--视频列表

    \day01\avi\01.01_计算机基础(计算机概述).avi; \day01\avi\01.02_计算机基础(计算机硬件和软件概述).avi; \day01\avi\01.03_计算机基础(软件 ...

  5. 课程2:《黑马程序员_Java基础视频-深入浅出精华版》-视频列表-

    \day01\avi\01.01_计算机基础(计算机概述).avi; \day01\avi\01.02_计算机基础(计算机硬件和软件概述).avi; \day01\avi\01.03_计算机基础(软件 ...

  6. 黑马程序员_ Objective-c 内存管理笔记

    引用计数器 当一个对象被创建出来,就要分配给内存这个对象,当不用这个对象的时候,就要及时的回收,为了可以明确知道对象有没有被使用,就要用引用计数器来体现,只要计数器不为0,表明对象被使用中. 1.方法 ...

  7. 黑马程序员_ Objective-c 之Foundation笔记(二)

    NSArray NSArray的创建 NSArray *array = [NSArray arrayWithObject:@“jack”]   创建单个元素 NSArray *array3 = [NS ...

  8. 黑马程序员_ Objective-c 之Foundation笔记(一)

    结构体  NSRange: 用来表示范围 创建 NSRange r1 = {2, 4} NSRange r2 = {.location = 2, .length = 4} NSRange r3 = N ...

  9. Android程序员事件分发机制学习笔记

    通过问题来学习一个东西是很好的方法.学习Android中View的事件体系,我也通过给自己提问题,在解决问题的同时也就知道了其中原理. 首先来几个问题起步: 什么是事件?什么是事件分发机制? 在我们通 ...

随机推荐

  1. 告别CMD.windows终端神器conemu设置

    前言 一种刘姥姥进大观园的感觉,现在是见啥啥新鲜.因为之前不怎么接触到命令操作,平时偶尔用用cmd也没觉得什么不妥.直到现在经常调试脚本,使用git越发感觉不方便.看见同事使用的terminal绚丽夺 ...

  2. windows系统下Eclipse启动界面更改

    前段日子看到有人修改了linux系统下Eclipse的启动界面,因此自己试着修改了一下windows平台的启动界面.本文总结一下修改Eclipse 4.5(代号Mars)启动界面的方法. 方法一:修改 ...

  3. 洛谷 P2895 [USACO08FEB]流星雨Meteor Shower

    题目描述 Bessie hears that an extraordinary meteor shower is coming; reports say that these meteors will ...

  4. COGS 13. 运输问题4

    ★★☆   输入文件:maxflowd.in   输出文件:maxflowd.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     一个工厂每天生产若干商品,需运输到 ...

  5. SAP标准培训课程C4C10学习笔记(二)第二单元

    第二单元目录: SAP Cloud for Customer的项目实施分为4个阶段: 这四个阶段的详细介绍在SAP社区上这篇博文里: SAP Hybrid Project implementation ...

  6. MVC批量上传文件(使用uploadify)

    <script src="JS/jquery-1.8.3.js"></script> <script src="uploadify/jque ...

  7. jQuery工作中遇到的几个插件

    图片上传插件:uploadify 表单验证插件:formValidator

  8. linux - mysql 安装教程

    环境介绍>>>>>>>>>>>>>>>>>> 操作系统:Centos 7 mysql数据库版 ...

  9. JTT808、JTT809、JTT796、JTT794、JTT1077、JTT1078区别与交通部道路运输车辆卫星定位系统部标标准大全下载地址

    部标JT/T808协议.JT/T809协议.JT/T796标准.JT/T794标准的区别,他们是基于不同的通信场景,不同的通信对象,不同的设计目的和目标而制定出来的.首先要知道这些标准的全称是什么意思 ...

  10. 接口的多态使用; 接口应用实例:U盘、打印机可以使用共同的USB接口,插入到电脑上实现各自的功能。

    接口的多态使用 接口应用实例:U盘.打印机可以使用共同的USB接口,插入到电脑上实现各自的功能.