Java第三次上机随笔
就记录一下新的收获吧~
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第三次上机随笔的更多相关文章
- java第三次上机
import java.util.*; class student{ String name; char sex; int age; String number; double score[]=new ...
- Java JDBC 数据库链接小结随笔
Java JDBC 数据库链接小结随笔 一.链接数据库的步骤 二.关于Statement 和 PrepareStatement 两者区别 用法 三.关于 ResultSet 的一些小结 四.自定义 ...
- Java EE : 三、图解Session(会话)
目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.Session由来 二.Sessio ...
- JAVA第三周作业(从键盘输入若干数求和)
JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...
- 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三
编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三
- Java的三种代理模式
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...
- Java的三种代理模式简述
本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...
- Java进阶(三十九)Java集合类的排序,查找,替换操作
Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...
- Java进阶(三十八)快速排序
Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...
随机推荐
- .NET英文技术文章导读(2017-03-23)
关键字:VS2017.扩展.Service Fabric.Unit Test.ELMAH Web开发人员必装的5个VS2017扩展 作者:Jeffrey T. Fritz 链接:https://blo ...
- iOS 使用GRMustache对HTML页面进行渲染
第三方控件[GRMustanche] OC Swift //测试版本 7.3.2 最终效果图: [使用方法&& 核心代码] 通过cocoapods 导入 #import <GRM ...
- 16 道嵌入式C语言面试题
1. 用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到 ...
- react-native中显示手机本地图片/视频
已知文件路径'/data/user/0/com.ycdj/files/media/218787782/efa1d12f22d2/1235.jpg' 只需在路径前面拼上file:///即可,如: < ...
- Jmeter3.2源码编译环境搭建
1.下载jmeter3.2源码 https://github.com/apache/jmeter/tree/v3_2 https://blog.csdn.net/fly_to_higher/artic ...
- 关于<软件>的定义
百度百科: 软件是一系列按照特定顺序组织的计算机数据和指令的集合.一般来讲软件被划分为系统软件.应用软件和介于这两者之间的中间件. 国标中的定义: 与计算机系统操作有关的计算机程序.规程.规则,以及可 ...
- base加密解密工具类
public class MLDUtil { public static Key DEFAULT_KEY = null; public static final String DEFAULT_SECR ...
- mongo删除指定字段,可多个字段同时删除
参考代码: db.getCollection('Person').update({"email":{$exists:true}},{$unset:{"email" ...
- BZOJ1173 CDQ分治 笔记
目录 二维数据结构->cdq 预备知识 T1: 二维树状数组 T2:cdq分治 bzoj1176 mokia:Debug心得 一类特殊的CDQ分治 附: bzoj mokia AC代码 二维数据 ...
- Y1S001 ubuntu下samba安装配置以及使用vbs映射到驱动器
我这边安装samba只用了两步 第一步 sudo apt-get install samba 第二步 sudo vi /etc/samba/smb.conf 主要修改点如下,去掉注释或者修改=右边的值 ...