叨逼叨两句

  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. 【机器学习实战】第2章 K-近邻算法(k-NearestNeighbor,KNN)

    第2章 k-近邻算法 KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法主要是用来进行分类的. KNN 场景 电影可以按照题材分类,那么如何区分 动作片 和 爱情片 呢? 动作 ...

  2. javascript对象的学习

    一.对象的定义: 对象是JavaScript的一个基本数据类型,是一种复合值,它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值.即属性的无序集合. JavaScript 提供多个内建对 ...

  3. Python+selenium之selenium Grid2

    利用selenium grid2 keyi可以在不同的主机上建立主节点(hub)和分支节点(node),可以使主节点上的测试用例在不同的分支节点上运行.对不同的节点来说,可以搭建不同的测试环境(操作系 ...

  4. Python+selenium之键盘事件

    keuys()类提供键盘上所有的按键方法.send_keys()方法可以用来模拟键盘输入. from selenium import webdriver from selenium.webdriver ...

  5. Spring.Net 能为我们做点什么

    本文内容 概述 背景 模块 使用场景 入门应用 Spring.NET 相关项目 本文正式开始前,我以目前所能想到的.此时此刻能想到的,先简单说下,为什么会有像 Spring.Net 这样的东西.首先, ...

  6. encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)

    1.index.html引入 <script src="./static/js/jsencrypt.min.js"></script> 或者 npm i j ...

  7. Java抽象类、接口和内部类

    1.抽象方法.抽象类 1)抽象方法: 由abstract修饰 只有方法的定义,没有方法的具体实现(连{}都没有) 由abstract修饰的方法为抽象方法,抽象方法只有方法的定义,没有方法体实现,用一个 ...

  8. [中文翻译] ASP.NET 5 简介(Introducing ASP.NET 5,原作ScottGu 2015/2/23)

    本文出处  [中文翻译] ASP.NET 5 简介(Introducing ASP.NET 5,原作ScottGu 2015/2/23) 这是我的文章备份 http://www.dotblogs.co ...

  9. 在.net平台上运行伪JAVA

    由于在一个项目局方要求使用JAVA平台, 而当前又都是.net平台的应用. 重新用JAVA开发工作量太大. 时间也来不及. 想到在.net中有url rewrite功能, 何不先"骗&quo ...

  10. opencv中mat矩阵如何debug

    mat img 看type:img.type() rows:img.rows cols:img.cols channels:img.channels(),channels()这是一个函数,和上面两个有 ...