就记录一下新的收获吧~

1、定点数(BigDecimal)

先区分一下浮点数和定点数:

浮点数(float/double):小数点可以任意浮动,称为浮点表示法

定点数(BigDecimal):一种数约定数值的小数点固定在某一位置,称为定点表示法

用惯了浮点数的大家都知道,浮点数用的是IEEE标准,在 IEEE 标准中,浮点数是将特定长度的连续字节的所有二进制位分割为特定宽度的符号域,指数域和尾数域三个域,其中保存的值分别用于表示给定二进制浮点数中的符号,指数和尾数。而浮点数在计算时,并不能完全精确,比如我们判断一个浮点数是否为0不能直接==,而是需要fabs(x) < eps, eps通常是一个极小的数。

然而当表示价钱时,一点都不能差,所以这个时候要考虑使用定点数。

所谓定点,就是约定机器中数据的小数点位置固定不变。在计算机中,通常将数据的小数点固定在数据的最高位之前或者最低位之后。前者称为定点小数,后者称为定点整数

java中的定点数用的是一个名为BigDecimal的类,在本次上机中,主要用到了一下几个方法:

private BigDecimal price = new BigDecimal(0);//new一个值为0的定点数

price = price.setScale(2, RoundingMode.HALF_UP);//定点数price四舍五入保留两位小数

a.compareTo(b)  返回-1: 小于;返回0:等于;返回1:大于

2、字符串匹配

查找某字符串中是否有指定子串

4种方法可用于查找字符串

1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。 
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。 
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。 
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。

我用到的是第一种用法

String s = new String("ashjkahf");

s.indexOf("jka") 如果子串匹配成功,返回第一次出现的位置的索引(>=0),匹配失败,返回-1

如果是不区分大小写的匹配,则全部转为小写或者大写:

str.toUpperCase().IndexOf(s.toUpperCase()) //大写

str.toLowerCase().IndexOf(s.toLowerCase()) //小写

3、HashMap

增删改查(包括普通和面向对象)

参考本篇博客:https://blog.csdn.net/njupt16020515/article/details/74935529

写得很好直接看就行(对我就是懒得自己再整理一遍)

4、正则表达式入门

  • runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。

  • runoo*b,可以匹配 runob、runoob、runoooooob 等,* 号代表字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。

  • colou?r 可以匹配 color 或者 colour,? 问号代表前面的字符最多只可以出现一次(0次、或1次)。

Java第三次上机随笔的更多相关文章

  1. java第三次上机

    import java.util.*; class student{ String name; char sex; int age; String number; double score[]=new ...

  2. Java JDBC 数据库链接小结随笔

    Java JDBC 数据库链接小结随笔 一.链接数据库的步骤 二.关于Statement  和  PrepareStatement 两者区别 用法 三.关于 ResultSet 的一些小结 四.自定义 ...

  3. Java EE : 三、图解Session(会话)

    目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.Session由来 二.Sessio ...

  4. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  5. 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三

    编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三

  6. Java的三种代理模式

    Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...

  7. Java的三种代理模式简述

    本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...

  8. Java进阶(三十九)Java集合类的排序,查找,替换操作

    Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...

  9. Java进阶(三十八)快速排序

    Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...

随机推荐

  1. 使用Anaconda操作numpy库和matplotlib图形库

    慢慢来~~~ import numpy as np import matplotlib.pyplot as plt # 生成数据 x = np.arange(0, 6, 0.1) # 以0.1为单位, ...

  2. Initialize the shader 初始化着色器

    目录 Loads the shader files and makes it usable to DirectX and the GPU 加载着色器文件并使其可用于DirectX和GPU Compil ...

  3. 玩转GET 和 POST

    HTTP 基本概念 HTTP Request Methods GET.POST 专业名称是 HTTP Request Methods.但 HTTP Request Methods 不只是 GET 和 ...

  4. [原创]windows 部署SS server 出现的错误.

    安装过程: .Download and install Python MSI installer in 64bit Windows. .During installation you should i ...

  5. zabbix 安装rpm

    zabbix安装 1 安装数据库 #yum install mariadb-server  -y 配置配置文件 #vim /etc/my.cnf skip_name_resolve=on innodb ...

  6. 业务线B/C端业务组件总结

    /** * 业务线组件总结 * */ /* B端组件的总结 1.组件cssBase的总结 1像素底部边框 */ @mixin border - 1px - b($background: $gray - ...

  7. xxl-job调度中心配置以及常见错误

    项目结构图 启动步骤: 1.检查 /xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties 下的JDBC链接.登录账号. 2 ...

  8. C#的排序Sort和OrderBy扩展方法

    可以实现一个IComparable接口的CompareTo方法,或者是给予List的Sort扩展方法,传入委托实现,举个例子: list.Sort((a, b) => { var o = a.s ...

  9. Activity 切换效果

    Activity 切换效果 设置Activity 的 启动/退出时动画效果. 1.设置动画 通过方法 overridePendingTransition(enterAnim:Int,exitAnim: ...

  10. 计算机硬件&操作系统

    一.计算机的硬件: 控制器:计算机的指挥系统 运算器:数学运算+逻辑运算 存储器I/O设备:存I取O数据   内存(内存条):短期记忆,速度快,但是断电数据会丢失:   外存(硬盘):永久记忆,速度非 ...