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

Math类概述和方法使用

Java.lang.Math类它是一个关于数学运算操作类。

它中的方法是static,使用时直接Math.方法名.

              // 1.约对值Math.abs(10);// 2.四舍五入Math.round(3.14);// 3.两个数的最大值与最小值Math.max(10, 20);Math.min(10, 20);// 4.开平方int a = (int) Math.sqrt(9);System.out.println(a);// 求某个数的n次方int b = (int) Math.pow(10, 3);System.out.println(b);// 求某个浮点数的向下值 向上值double c = 3.14;System.out.println(Math.floor(c)); //求出比c小的最大整数值System.out.println(Math.ceil(c));//求出比c大的最小整数值//随机数double d=Math.random(); //得到0-1之间的随机浮点数  不包含1

Random类的概述与方法使用

Random类 它是jdk1.5以后提供的一个可以获取随机数的类。

构造方法:

new Random() 使用毫秒值做为种子

new Random(long seed)使用指定值做为种子,每次得到的随机数是一样的。

成员方法

nextInt(); 返回一个int范围的随机数

nextInt(int n)返回一个0-n之间的随机数.,不包含n

在开发中获取随机数:

Random ran=new Random();

Int n=ran.nextInt(n);

System类中的垃圾回收的方法gc()的讲解

只需要大家了解:

System.gc()方法可以让垃圾回收执行。

它其实会去执行类中的finalize方法。

在开发中,我们一般情况下不需要使用gc();

System类中的exit()和currentTimeMillis()的讲解

package cn.itcast.system;/** System类中的exit()方法.* *  exit方法是关闭jvm.*  *  public static void exit(int status)*      参数:status如果为0代表正常关闭,非0 代表异常关闭。*/
public class SystemDemo2 {public static void main(String[] args) {for (int i = 0; i < 10; i++) {if (i == 5) {// return; //可以理解成只是让当前程序结束System.exit(0); //是让jvm停止。}System.out.println(i);}}
}
package cn.itcast.system;/*** * @author Administrator System类中的currentTimeMillis方法* *         概念:基准时间:1970年1月1日 00:00:00.* *         currentTimeMills方法得到的就是从基准时间开始到程序运行时的毫秒值。* *         应用: 可以使用它进行程序效率测试* */
public class SystemDemo3 {public static void main(String[] args) {// long l=System.currentTimeMillis();// System.out.println(l); //1427699551883// String s="abc";StringBuilder build = new StringBuilder("abc");long l1 = System.currentTimeMillis();for (int i = 0; i < 10000; i++) {// s+=i;build.append(i);}long l2 = System.currentTimeMillis();System.out.println(l2 - l1); // 7}
}

System类中的arraycopy()的讲解

package cn.itcast.system;import java.util.Arrays;/** System类中的arraycopy方法*   * public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)功能:可以进行数组copy参数:src--->源数组          srcPos----->开始偏移量dest---->目标数组destPos--->目标数组偏移量lengt---->复制几个元素          */
public class SystemDemo4 {public static void main(String[] args) {int[] arr1={1,2,3,4};int[] arr2={5,6,7,8};System.arraycopy(arr1, 1, arr2, 2, 3);System.out.println(Arrays.toString(arr1)); //[1, 2, 3, 4]System.out.println(Arrays.toString(arr2));  //[5, 6, 2, 8]}
}

Date的概述和构造方法

Date类要求大家掌握,在就业班中会经常使用.

Java.util包下的Date

Date类它代表一个时间点,精确到毫秒.

package cn.itcast.date;import java.util.Date;/*** * @author Administrator* * Date类  java.util包下* * Date类构造方法*   *   构造方法*   new Date();  得到当前系统时间*  new Date(long val);  val代表的是从基准时间开始经过的毫秒值**/
public class DateDemo1 {public static void main(String[] args) {//无参数构造 // Date date=new Date();//// System.out.println(date); //Mon Mar 30 16:18:16 CST 2015//Date date=new Date(1000);System.out.println(date);}
}

Date中的日期与毫秒相互转换

package cn.itcast.date;import java.util.Date;
/** 关于Date对象与毫秒值的转换* *  成员方法*    long getTime()  它的作用就是获取Date对象描述的时间点的毫秒值。*      setTime(long val);它的作用是修改Date对象描述的时间点的毫秒值。*/public class DateDemo2 {public static void main(String[] args) {// Date date = new Date(); // 当前时间//// long l = System.currentTimeMillis(); //得到从基准时间到当前经过的毫秒值。//得到昨天这个时间点Date date=new Date(new Date().getTime()-24*60*60*1000);System.out.println(date);}
}

DateFormat实现日期和字符串的相互转换

DateFormat类它可以在Date----String之间做相互转换。

Date---àString  格式化

String-àDate   解析

DateFormat类在java.text包下.

在实际开发中对字符中与Date进行相互转换,一般情况下使用DateFormat类的子类

SimpleDateFormat

1. 怎样将一个Date对象格式化成指定效果的字符串

使用DateFormat类中提供的format方法。

public String format(Date date)

SimpleDateFormat类中也有这个方法。

问题:SimpleDateFormat它有无参数构造,它可以调用format方法对一个Date对象进行格式化,但是得到的不是我们想要的效果,怎样处理?

通知SimpleDateFormat它在做format操作时,得到字符串是我们指定的一个效果,就可以。

可以在创建SimpleDateFormat时指定一个模板  new SimpleDateFormat(String pattern)

package cn.itcast.dateformat;import java.text.SimpleDateFormat;
import java.util.Date;/** DateFormat进行将一个Date对象格式化成指定效果的字符串* * 将Date---->String    format方法*/
public class DateFormatDemo2 {public static void main(String[] args) {// 1.创建一个Date对象.Date date = new Date();// 2.得到 2015-03-30 16时59分SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH时mm分");String s = sdf.format(date);System.out.println(s);}
}

将一个字符串分析成时间

在DateFormat类中提供一个方法parse方法,它可以将一个字符串分析成Date对象

Public Date parse(String s);

注意:在使用SimpleDateFormat时,需要指定一个模板,它要与解析的字符串的格式一致才可以。

package cn.itcast.dateformat;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;/** DateFormat进行将一个字符串分析成时间* **/
public class DateFormatDemo3 {public static void main(String[] args) throws ParseException{String s="2008年08月08日 08:08:08";SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");Date date=sdf.parse(s);System.out.println(date);}
}

你在这个世界活了多少天

package cn.itcast.dateformat;import java.text.ParseException;
import java.util.Date;/** 案例:计算你在这个世界上活了多少天* * 要求:*     从键盘输入你的出生年月日* * 分析:*    1.根据出生年月日得以一个Date对象birthday。*  2.得到birthday代表的毫秒值*  3.使用现在的时间毫秒值-birthday毫秒值  = 从出生到现在经过的毫秒。*  4.使用毫秒值/一天的毫秒=活了多少天.*/
public class DateFormatDemo4 {public static void main(String[] args) throws ParseException {String s = "1981-10-08";// 1.根据出生年月日得以一个Date对象birthday。Date birthday = DateFormatUtils.StringToDate(s, "yyyy-MM-dd");// 2.得到birthday代表的毫秒值long l1 = birthday.getTime();// 3.使用现在的时间毫秒值-birthday毫秒值 = 从出生到现在经过的毫秒。long l = System.currentTimeMillis() - l1;// long l = new Date().getTime() - l1;// 4.使用毫秒值/一天的毫秒=活了多少天.System.out.println(l / (24 * 60 * 60 * 1000));}
}

黑马程序员——常用类相关推荐

  1. 黑马程序员-代理类的作用与原理及AOP

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 代理的概念与作用 程序中的代理 要为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能, ...

  2. 黑马程序员—String类常用方法

    ---------------------- Windows Phone 7手机开发. .Net培训.期待与您交流! ---------------------- 字符串(String): 注意字符串 ...

  3. 黑马程序员——总集篇

    -----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 本人编写技术博客的时候只是针对章节的一些比较重要的知识点来编写的: 个人感觉质量 ...

  4. 【黑马程序员 C++教程从0到1入门编程】【笔记4】C++核心编程(类和对象——封装、权限、对象的初始化和清理、构造函数、析构函数、深拷贝、浅拷贝、初始化列表、友元friend、运算符重载)

    黑马程序员C++教程 文章目录 4 类和对象(类属性[成员属性],类函数[成员函数]) 4.1 封装 4.1.1 封装的意义(三种权限:public公共.protected保护.private私有)( ...

  5. 黑马程序员视频教程学习mybatis框架常用注释SQL语句学习笔记?

    mybatis学习笔记 常用注释增删改查SQL语句 常用注释拓展SQL语句 解决实体类属性和数据库表中的属性名称不相同的问题: mybatis注解之一对一查询: mybatis注解之一对多查询: my ...

  6. 黑马程序员-----集合框架类(四) 高级for循环、方法的可变参数及静态导入

    ------- android培训.java培训.期待与您交流! ---------- 黑马程序员-----集合框架类(四) 高级for循环.方法的可变参数及静态导入 1.1 高级for循环(示例1) ...

  7. [黑马程序员C++笔记]P99-P104类和对象-封装

    视频地址:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 目录 P99类和对象-封装-属性和行为作为整体 P100类和对象-封装-案例-设计学生类 P101 ...

  8. 工具|月刊第一期:程序员常用的工具软件(视频类、编辑类、分析类、检索类)

    Hi,大家好,我准备搞一个程序员实用工具的月刊,每个月固定时间推荐好用的最新的工具软件,并且每期写明工具的类型,如分析类,检索类等 方便我们在日常工作开发使用,也能在其中发现乐趣. 那下面就开始我们的 ...

  9. MySQL常用图形管理工具 | 黑马程序员

    MySQL性能强劲,是目前使用最广泛的数据库之一,以 MySQL为学习原型也方便之后掌握其他数据库,下面就给大家全面讲解下MySQL8.0的新特性,从零基础到高阶一站式学习,结合实际案例让大家有所收获 ...

最新文章

  1. 16 导出pcb各网络的布线长度_设计PCB流程
  2. 1.15 克隆虚拟机
  3. python数据驱动读取用例_Python Selenium 之数据驱动测试
  4. CVE-2016-0095提权漏洞学习笔记
  5. 解决mysql插入中文出现错误Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F...‘ for column ‘course‘ at row 1
  6. vscode运行conda出现 “无法加载文件C:\Users\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本” 的错误
  7. 镜像服务器文件实时监控同步程序
  8. 如何以子类的形式运行多进程?
  9. 计算三维空间中点到三角形平面的最短距离
  10. python练手项目pdf_一个不错的练手项目!
  11. 服务器SAS硬盘raid5崩溃lvm丢失的数据恢复过程
  12. kappa与quadratic weighted kappa
  13. html5清新文艺,清新文艺的短句
  14. DX11 游戏开发笔记 (二) DX11 基础框架 上
  15. 懒人理财法之基金定投(Automatic Investment Plan)
  16. 【微信开发第二章】SpringBoot实现微信公众号普通消息和模板消息回复
  17. MySql 别犯糊涂了! LEFT JOIN 的 ON 后接上筛选条件,多个条件会出事!
  18. 【nvivo11plus教程】01_nvivo介绍、案例与批注
  19. f2fs系列文章fsck(四)
  20. 分布式发号器——Vesta

热门文章

  1. 刷题找工作《买卖股票问题》一文通解
  2. Andorid实例,淘宝评分条,星级评分条应用
  3. 最受产品经理关注的10个原型设计工具
  4. 商店销售某一商品,每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销货员的销售情况为
  5. 蓝桥杯2016届C++B组省赛真题 最大比例
  6. 去ioe,什么是去IOE呢
  7. shell脚本中-eq、-ne、-gt、-ge、-lt、-le
  8. Idea 遇到:com.sun.istack.internal不存在和程序包com.sun.image.codec.jpeg不存在
  9. 立创EDA如何导入CAD文件
  10. 华为上交 | GAN 将古典人像变3D,视角可切换