黑马程序员----日期Date类,日历 Calendar类。Math类的一部分,大数据运算BigInteger,BigDecimal。

  1. ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

1.      第十四天回顾

  字符串缓冲区Buffer,Builder 构造,appenddelete setCharAt insert reverse toString

  Buffer安全,速度慢,Builder不安全,速度快

  基本数据类型包装类,  Integer 方法 static parseInt(字符串) 转成基本类型,可以数学计算

 自动装箱和拆箱:原理,装箱基本==>对象  拆箱 对象 ==> 基本

  正则表达式: Stringmatches split  replaceAll  字符类的写法,数量词 \\

  查找功能实现步骤  Pattern compile mathcer  Mather find group

 

2.      第十五天学习内容:日期Date类,格式化DateFormat  SimpleDateFormat。日历 Calendar类。Math类的一部分,大数据运算BigInteger,BigDecimal。数组,选择排序,冒泡冒泡排序,折半查找法,数组工具类Arrays。 System类,Runtime类

 

3.      Date类,日期类

  日期和时间也是对象,描述类,java.util.Date描述时间和日期

  构造方法中:两个可以使用

l  Date()空参数的,获取就是操作系统的时间和日期

l  Date(long l)传递long参数,传递毫秒值,返回这个毫秒值对应的那个时间和日期  System.currentTimeMillis()

 

      Date类的中的没有过时的方法

l  getTime() 返回long型参数,结果是Date对象日期对应的毫秒值。获取当前系统毫秒值,System. currentTimeMillis() Date 类的方法getTime()

l  setTime(long )传递毫秒值,将日期设置到指定毫秒值,构造方法的意义接近

小结:日期对象和毫秒值之间的转换:日期对象转成毫秒值,SystemDate方法getTime.  毫秒值转成日期对象,setTime  构造方法

l  boolean after(Date d)测试,当前日期是不是在参数指定的日期之后,如果是返回真

l  boolean before(Date d) 测试,当前日期是不是在参数指定的日期之前,如果是返回真

 

4.      日期的格式化

  显示的日期,变成国人习惯看到的日期

 java.text.DateFormat 日期格式化,是抽象类,不能实例化对象

  方法 Stringformat(Date d)传递一个日期对象,格式化后变成String

 

 DateFormat的子类SimpleDateFromat

 子类构造器中,传递一个模式,日期的格式化模式  2000年01月01日

 模式怎么写,看文档

 调用父类方法format传递日期对象,返回String

 

5.      日期的风格化

  直接使用父类DateFormat来实现,抽象类,不能创建,使用静态方法,返回的就是他子类对象,直接父类引用,形成多态。

  如果风格化只需要日期,staticgetDateInstance(int 日期风格)

  如果风格化需要日期和时间,staticgetDateTimeInstance(int 日期风格, int 时间风格)

  DateFormat类中,提供静态常量,直接类名调用 LONG  SHORT

  调用DateFormat类的方法format(Dated)

 

6.      字符串转成日期对象

  日期是一种对象,字符串String另一种对象,将String-->Date

  凡是用户的输入,全部是字符串。

  需要DateFormat类的方法,Dateparse(String s)

 

7.      日期的练习

  用户输入2个日期,计算两个日期相差多少天

  输入: Scanner 类方法 StringnextLine()

  两个字符串,转成日期对象Date

  两个日期转成毫秒值

 

8.      日历类 Calendar

 从JDK1.1开始,很多Date类的中的方法,被日历类取代

 java.util.Calendar,描述日历类的对象

 日历字段:年,月,日

 直接使用静态方法getInstance获取日历类对象,子类对象

 int get(int field)传递一个日历字段,返回的就是字段对应的具体数字

 日历字段的写法,参照文档

 

9.      Calendar类的其他方法

  set方法设置日历,如果不设置,日历就是操作系统上的日历

  set(int field,intvalue)第一个参数,设置的日历字段,第二个参数具体的数值

  set(int year,intmonth,int day)设置日历,写具体数字年月日

  setTime(Date d)日历设置为Date对象指定的日期

  setTimeInMillis(longmillis) 设置日历为指定的毫秒值

 

  日历的偏移量 voidadd方法,对日历中的某一个字段,进行偏移

  void add(int 日历字段,int 数据)

 

10.  日历小练习

  计算一个年是不是闰年,这一年的3月1日,向前偏移1天,是29是闰年

  保质期的计算,生成日期是2014年1月19日,保质期186天

 

11.  数组的排序

  在数组中,按照小到大的排序,升序排列

  选择排序,冒泡排序,快速排序,插入排序,希尔排序

  选择排序的原理:数组中的下标,从0开始,和后面的下标比较换位置

  冒泡排序的原理:数组中相邻的两个位置,比较换位

 

12.  数组折半查找

  已知一个数组,找一个数据,在不在数组中,如果在,返回数组所在的下标,如果不在返回负数。

  如果遍历数组,一个个的找,性能底下,折半查找,提高查找效率

  每次查找,减少一半的数组元素。前提是数组必须有序排列。

  如果是无序数组,可以使用折半查找法,但是查找结果不保证正确

 

  如果日后遇到这上述情况,拿到一个数组,需要查找,但是数组是无序排列,不能使用折半。不能排序  {3,1,5,8,9}

 

13.  数组工具类

 工具类中方法都是静态,数组的工具类java.util.Arrays类

 Arrays类的方法

sort数组的排序,升序排序,面试考试千万别写

int binarySearch(数组,关键字)数组的折半查找,找不到返回  -插入点-1

l  static String toString(数组)将数组变成字符串,不是重写Object类的

 

14.  Math类

  数学计算类,方法都是进行数学计算的

l  伪随机数 random()返回double0.0-1.0

l  绝对值 abs()

l  ceil(double d)获取大于等于该参数的最小整数

l  floor(double d)获取小于等于该参数的最大整数

l  pow(double x,double y)计算x的y次方

l  round(double d)四舍五入,计算方式是参数+0.5后的结果

 

15.  大数据运算

 超级大数,四则运算,使用大数据的运算类实现

 java.math  BigInteger  BigDecimal   + - * /采用方法实现

 

 BigInteger类

l  构造方法,传递字符串,字符串是数字格式,没有位数限制

l  大数据加法运算返回值,BigIntegeradd(BigInteger big)

l  大数据减法运算返回值,BigIntegersubtract(BigInteger big)

l  大数据乘法运算返回值,BigIntegermultiply(BigInteger big)

l  大数据除法运算返回值,BigIntegerdivide(BigInteger big)

 

   BigDecimal类

l  构造方法,传递字符串,数字格式,可以写浮点,没有位数限制

l  加法,减法,乘法,和BigInteger类一模一样

l  大数据除法运算带浮点返回值BigDecimal divide(BigDecimal对象,保留几位,摄入模式) 舍入模式在类的静态常量

l  ROUND_UP 向上加1

l  ROUND_HALF_UP 四舍五入

l  ROUND_DOWN 直接舍去

l  ROUND_HALF_DOWN  向下+1

 

16.  System

  System.in .out

  gc()运行垃圾回收器

  exit(0)终止JVM的运行

  currentTimeMillis()返回1970的毫秒值

  getPropeties()返回操作系统的属性

 

17.  Runtime

 使用静态方法getRuntime()获取Runtime类的对象,不能自己new

 调用方法exec(Strings)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值