Java编程基础(八)

储存类的仓库 – Java常用类库

正则表达式

含义:描述匹配一系列符合某个语句规则的字符串

Pattern:该类的对象表示正则表达式的对象

Marcher:该类的对象表示匹配结果

总结:可以利用正则表达式做爬虫

核心的正则标记:

(1) 字符,表示单个字符,只能出现1位。
x:表示是一个指定的一位字符,例如:编写一个a,表示是字母a;
\:表示一位字符“\”,但是由于“\”有个数含义,所以使用“\”表示一位“\”;
\n:匹配换行;
(2) 字符范围,在指定的字符范围之中选1位,只能出现1位。
[abc]:表示可以是a、b、c中的任意一位;
[^abc]:表示不是a、b、c中的任意一位;
[a-zA-Z]:表示是任意一位字母(大写或小写);
[0-9]:表示是任意一位数字。
(3) 简洁表达式,表示1位。
.:表示任意的一位字符;
\d:表示一位数字,等价于“[0-9]”;
\D:表示一位非数字,等价于“[^0-9]”;
\s:表示一位空格,等价于“[ \t\n\x0B\f\r]”;
\S:表示一位非空格,等价于“[…… \t\n\x0B\f\r]”;
\w:表示一位字母、数字、,等价于“[a-zA-Z0-9]”;
\W:表示一位非字母、数字、,等价于“[^a-zA-Z0-9]”;
(4) 边界匹配,Java用不上。
^:表示正则的开头;
$:表示正则的结尾。
(5) 数量表示,之前的正则每个符号只表示一位,如果要表示多位,则必须使用以下的数量关系。
正则?:表示此正则可以出现0次或1次;
正则+:表示此正则可以出现1次或多次;
正则*:表示此正则可以出现0次、1次或多次;
正则{n}:表示此正则出现正好n次;
正则{n,}:表示此正则出现n次以上;
正则{n,m}:表示此正则出现n ~ m次。
(6) 逻辑操作。
正则1正则2:正则1之后紧跟正则2操作;
正则1|正则2:表示或的关系,有一套正则标记匹配即可;
(正则):表示按照一组来使用。

时间日期类

Date:日期类

SimpleDateFormat:格式化日期类

Calendar:日历类

总结:Date 联合SimpleDateFormat一起使用

Calendar获取单个日期信息

Math类 – 数学类

Math类提供了一系列基本数学运算和几何函数的方法

Math类final类,并且它的所有成员变量和成员方法都是静态的(标准的工具类)。

将Math类中所有的静态属性和静态方法导入到本类中,这些静态属性和静态方法自动成为本类自己的静态属性和静态方法

静态导入

缺点:可读性不高

调用静态方法是就近原则,本类有就调用,没有再去静态导入的类中获取

大数字操作类

整数大数值运算类:BigInteger

如果数字超过该类型的最大范围则会提示“Infinity”。在BigInteger类的构造方法(public BigInteger(String val))里面已经清楚的描述出了,如果数据过大,则只能利用字符串保存,而后在BigInteger类之中提供了若干个基本的数学操作。

小数大数值运算类(BigDecimal):涉及到金融类的计算必须使用小数大数值运算类,因为浮点数型计算会失去精度

ROUND_DOWN表示舍弃一位,

ROUND_UP表示进一位,

ROUND_HALF_UP表示四舍五入

Random类

伪随机数

理解:所有的随机数都是通过算法算出来的,通过算法算出来的数据就不是真随机

如果用相同的初值创建Random对象,得到的随机数序列是相同的,也就是说,在程序中看到的“随机数”是固定的那些数,起不到“随机”的作用

Random类的种子数

理解:该数是随机数的根本,该数固定,随机数的数字就固定了

Runtime类

含义:表示运行时环境 – JRE

Runtime表示的是运行时在每一个JVM进程之中都会存在唯一的一个Runtime类的实例化对象。这个类是一个明显的单例设计模式,此类将构造方法私有化了,既然是单例设计模式,那么一定会在类的内部提供一个static定义的方法,用于取得本类的实例化对象。

取得Runtime类对象:

public static Runtime getRuntime();

System类

System类中的所有成员都是静态的,而要引用这些变量和方法,可直接使用System类名作为前缀。

System.out 和 System.err

注意:out 和err 是两个线程中的代码,体验多线程争抢CPU资源的场景

System类的方法:

exit(int status)方法,提前终止虚拟机的运行。对于发生了异常情况而想终止虚拟机的运行,传递一个非零值作为参数。若在用户正常操作下终止虚拟机的运行,则传递零值作为参数。
CurrentTimeMillis方法,返回自1970年1月1日0点0分0秒起至今的以毫秒为单位的时间,这是一个long类型的大数值。在计算机内部只有数值,没有真正的日期类型及其他各种类型,也就是说,平常用到的日期实质上就是一个数值,但通过这个数值,能够推算出其对应的具体日期时间。
getProperties方法是获得当前虚拟机的环境属性。每一个属性都是变量与值以成对的形式出现的。

Java编程基础(八)相关推荐

  1. java基础案例教程第二章_第2章Java编程基础_补充案例教程.doc

    第2章Java编程基础_补充案例教程 博学谷--让IT教学更简单,让IT学习更有效博学谷--让IT教学更简单,让IT学习更有效 PAGE \* MERGEFORMAT34PAGE \* MERGEFO ...

  2. Java大神推荐,java编程基础必备(必看)

    在没有以前的操作习惯的错误情况下,反而容易接受新知识,所以不要因为自己对java一无所知而自卑,相反,这是菜鸟们的优势,但是如何才能从一个菜鸟历练成大神呢,当然是需要学习了,不学习就想成为大神,就是在 ...

  3. 第二章java编程基础测试题_Java编程基础测试题分享

    单选题:(每道题目2分) 1. 下列哪个声明是错误的?(B) A. int i=10; B. float f=1.1; //float f=1.1f C. double d=34.4; D. byte ...

  4. java编程一般类抽象类的定义,Java编程基础抽象类

    本文主要是讲述Java编程基础-抽象类,更多Java技术知识,请登陆疯狂软件教育官网. 抽象类: 抽象:不具体,看不明白关键字abstract 抽象类的特点: 1.抽象方法只能定义在抽象类中,抽象类和 ...

  5. 《Java程序员面试秘笈》—— 第1章 Java编程基础

    本节书摘来异步社区<Java程序员面试秘笈>一书中的第1章,作者:常建功,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 Java编程基础 通过考察Jav ...

  6. Java编程基础 - 泛型

    Java编程基础 - 泛型 [导读] . 什么是泛型 一般传统而言,泛型允许程序员在强类型语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型. 编程技术发展至今很多语言,尤其是强 ...

  7. 实验一 Java编程基础

    面向对象--Java实验报告 实验一:Java基础编程 实验一 Java编程基础 <center> <strong>姓名:</strong> <u>XX ...

  8. Java实验01 Java编程基础(猜数字游戏、随机点名器)

    实验一 Java编程基础 实验1-1 随机点名器 一.实验描述 1. 任务描述 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览 ...

  9. Java编程基础(入门)

    Java编程基础 Java概述 Java是一种功能强大的面向对象的编程语言,它不仅吸收了C++语言的各种优点,还摈弃了C++中难以理解的多继承.指针等概念 Java开发环境搭建: 详情见:JDK和Ec ...

最新文章

  1. 跟小博老师一起学习数据库 ——SELECT
  2. 实践浅解free的具体作用(C语言)
  3. 【Linux】FrameBuffer操作入门
  4. C++中的override关键字
  5. 5、vsphere6-ESXI主机的安装及配置
  6. 谈SOA在国内推进状况
  7. Git常用指令及功能总结
  8. C语言const易错点
  9. 程序员败给了一个厨子,读书无用论让我 必须送书了
  10. Win10离线 安装.net frame3.5
  11. Cradle CFD—专业热流场分析工具
  12. LoRaWAN协议格式
  13. 联想计算机 经常蓝屏怎么办,一分钟看懂电脑蓝屏(内附解决方案)
  14. pythonpdf识别文字_python 提取pdf文字
  15. java判断日期是当天_Java判断日期为昨天 今天 明天
  16. 主板前置面板插线插法
  17. VLOOKUP函数使用及注意事项
  18. HLS AAC音频爆音噗噗滋滋的原因
  19. Codeforces Educational Codeforces Round 56 (Rated for Div. 2) 1093F. Vasya and Array
  20. 曙光服务器如何重新设置u盘启动_u盘装系统设置u盘启动的两种方法

热门文章

  1. 多标签分类器(附pytorch代码)
  2. 百度程序员抱怨:告诉下家去哪里,才给批准离职
  3. node 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正 确,然后再试一次 的解决方案
  4. OFDM技术基本原理 (1)
  5. Android开启手电筒功能(完美适配Android4x,5x,6x)
  6. 什么是标准作业及ECRS标准工时软件的作用?如何定义标准作业及使用ECRS标准工时软件来设置作业标准?
  7. 产品新人必看:入职前的准备及快速适应产品工作
  8. 买新笔记本电脑,RJ45接口还香吗
  9. Android SurfaceView总结及代码示例
  10. SQL15 查看学校名称中含北京的用户