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 ...
随机推荐
- OpenCV函数学习:cvRound,cvFloor,cvCeil
函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound 返回跟参数最接近的整数值: cvFloor 返回不大于参数的最大整数值: cvCeil ...
- 基于ASP.NET MVC 下的Extjs的Combbox加载速率问题,终于解决啦:)
在实际的开发项目中,自己遇到一个让自己苦恼很久的问题,一直也未解决,先简单介绍一下这个问题吧.当在表单里有多个combbox的时候(表单中的combbox是经过封装的控件,从后台请求同一个方法获取数据 ...
- 连接数据库出现java.sql.SQLException: Unknown system variable 'tx_isolation'
问题分析 :mysql-connector-java的版本太低,数据库的版本太高 因此将mysql-connector-java升级到最新版本就解 .或者降低MySQL的版本.我之前用的是8.0版本 ...
- Spark内核
一些名词概念 AM : ApplicationMaster RM : ResourceManager NM : NodeManager Backend : 后台 RpcEnv : RPC 进程和进程的 ...
- Django:django-cors-headers 报错no module named "corsheaders"
django跨域使用 pip install django-cors-headers 然后在settings文件中加上参数设置 # app配置 INSTALLED_APPS = [ 'django.c ...
- ViewState 和字段属性的差异
ViewState是一个字典对象,将控件状态或对象值散列为字符串并在页面中保存为一个或多个隐藏域... PostBack之后字段的值就被清空了而ViewState还在,但ViewState为了保持值需 ...
- Wish-递推DP记数
链接:https://nanti.jisuanke.com/t/35618 题意: 如果一个数大于等于 1010 且任意连续两位都是质数,那么就称之为 Wish 数.当然,第一个 Wish 数是 11 ...
- 3dmax 笔记本电脑
一般来说,苹果MacBook系列适合运行3ds Max. 3ds Max是一款大型图像处理软件,对电脑硬件要求高.在所有MacBook系列中,配备Retina屏幕的MacBook Pro 15寸是最佳 ...
- Java学习之软件安装
成功安装了jdk-10.0.1.eclipse-committers-2018-09-win32-x86_64.mysql-5.7.18.1和tomcat-9.0.0.M17
- C++第四课:类的使用(二)[个人见解]
前面说到C++类的名字自定义要有含义,成员函数名也同样如此. 一个好的程序员除了让自己能看懂代码外,那是能力,也能让别人看懂,那是本事. 我们来看第一个特性:继承! 什么是继承? 小编不说概念性的定义 ...