常用的API和基础算法
和数学相关
1,java.lang.Math类
abs(x):求绝对值
sqrt(x):求平方根
pow(x,y):求x的y次方
ceil(x):向上取整
floor(x):向下取整
round(x):四舍五入
random():得到[0,1)范围的随机值
max(x,y):求x,y的最大值
min(x,y):求x,y的最小值
PI:圆周率
2,java.Math包
BigInteger:不可变,任意精度的整数
BigDecimal:不可变,任意精度的小数
它们要new对象来表示数据,要通过add,subtract,multiply,divide等方法来进行算术运算
3,java.util.Random
Random r = new Random();
double d = r.nextDouble();//[0,1)
int i = r.nextInt();//int范围内
int j = r.nextInt(x);//[0,x)范围内的整数
和日期时间相关
1,java.util.Date
new Date():获取系统日期时间
new Date(Long 毫秒):根据毫秒值来获取日期时间
long getTime():获取该日期时间对应的毫秒值,距离1970-1-1 0:0:0
2,java.util.Calender
如何创建/获取Calender的对象?
(1),创建子类对象:GregorianCalendar
(2),获取指定时区的日历对象
getInstance()
getInstance(TimeZone 时区) 或 getInstance(Locale 语言环境)
getInstance(TimeZone, Locale)
(3)get(字段名)
例如:int year = get(Calendar.YEAR);
java.text.DateFormat日期时间格式
使用其他的子类:SimpleDateFormat
y:年
M:月
d:日
D:一年中的第几天
H:24小时制的时
h:12小时制的时
m:分
s:秒
S:毫秒
E:星期
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//把日期转字符串
String str = sf.format(Date的日期对象);
//把字符串解析为日期
Date d = sf.parse(字符串);
java.time包
1、本地化日期/时间:LocalDate,LocalTime,LocalDateTime
now():获取当前的日期或时间
of(x,x,x):获取指定的日期或时间
withXxx(), plusXxx(), minusXxx():修改日期和时间,修改后要重新接收新对象
isLeapYear():判断是否是闰年
2、阶段日期或时间:间隔日期Period和持续时间Duration
between(x,y):两个日期或时间
3、格式化:DateTimeFormatter
使用预定义的模式:ISO_LOCAL_DATE
使用自定义模式:例如yyyy-MM-dd HH:mm:ss
使用FormatStyle枚举常量:LONG , MEDIUM, SHORT
和系统相关类
1,java.lang.System类:系统工具类
static long currentTimeMillis():获取系统时间的毫秒值
static void exit(x):退出JVM
static void arraycopy(原数组, 原数组的起始下标, 目标数组, 目标数组的起始下标,一共复制几个元素)
static void gc():通知垃圾回收器工作
static String getProperty(系统属性名)
2,java.lang.Runtime类:JVM运行环境
static Runtime getRutime()
long totalMemory()
long freeMemory()
void gc()
常用的API和基础算法的更多相关文章
- Java面向对象_常用类库api——二分查找算法
概念:又称为折半查找,优点是比较次数少,查找速度快,平均性能好:缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表. 例: public class Bi ...
- 算法竞赛中的常用JAVA API :大数类(转载)
5.算法竞赛中的常用JAVA API :大数类 摘要 java中的基础数据类型能存储的最大的二进制数是 2 ^ 63 - 1 对应的十进制数是9223372036854775807(long类型的最大 ...
- java入门学习(3)—循环,选择,基础算法,API概念
1.顺序结构:也就是顺着程序的前后关系,依次执行.2.选择分支:利用if..else , / switch(){case [ 这个必须是常量]:}; / if..else if….. ….else.. ...
- 【算法】342- JavaScript常用基础算法
一个算法只是一个把确定的数据结构的输入转化为一个确定的数据结构的输出的function.算法内在的逻辑决定了如何转换. 基础算法 一.排序 1.冒泡排序 //冒泡排序function bubbleSo ...
- 今天给大家分享一下js中常用的基础算法
今天给大家分享一下js中常用的基础算法,废话不多说,直接上代码: 1.两个数字调换顺序 ,b= function fun(a,b){ b = b - a ;// a = 2 ; b = 2 a = a ...
- 算法竞赛中的常用JAVA API:PriorityQueue(优先队列)(转载)
算法竞赛中的常用JAVA API:PriorityQueue(优先队列) PriorityQueue 翻译过来就是优先队列,本质是一个堆, 默认情况下堆顶每次都保留最小值,每插入一个元素,仍动态维护堆 ...
- 算法竞赛中的常用JAVA API :HashSet 和 TreeSet(转载)
算法竞赛中的常用JAVA API :HashSet 和 TreeSet set set容器的特点是不包含重复元素,也就是说自动去重. HashSet HashSet基于哈希表实现,无序. add(E ...
- 算法竞赛中的常用JAVA API :HashMap 和 TreeMap(转载)
算法竞赛中的常用JAVA API :HashMap 和 TreeMap 摘要 本文主要介绍Map接口下的HashMap和TreeMap. HashMap HashMap是基于哈希表的 Map 接口的实 ...
- 8.算法竞赛中的常用JAVA API :Calendar日期类
8.算法竞赛中的常用JAVA API :Calendar日期类 摘要 在蓝桥杯中有关于日期计算的问题,正好java中的Date类和Calendar类提供了对日期处理的一些方法.Date类大部分方法已经 ...
随机推荐
- 仿射密码Python实现
算法分析 仿射密码结合了移位密码和乘数密码的特点,是移位密码和乘数密码的组合. 仿射密码的加密算法就是一个线性变化,即对明文字符x,对应的密文字符为y=ax+b(mod26)其中,a, b属于Z26且 ...
- SWUST OJ Euclid's Game(0099)
Euclid's Game(0099) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 1855 Accepted: 589 De ...
- XML的四种解析器(dom_sax_jdom_dom4j)原理及性能比较[收藏]
1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定 ...
- Mac Webstrom 快捷键
C + D 删除当前行 光标所在行 S + C + F 格式化 S + C + R 重命名 C + { 查找上次 C + } 查找下次 C + S + DE 回到上一次编程位置 C + F 查找 C ...
- 查漏补缺:OSI七层模型和TCP/IP模型
应用层协议:Telnet.FTP.e-mail等 传输层协议:TCP.UDP.STCP等 网络层协议:IP.ICMP.IGMP等 链路层协议:设备驱动及接口卡
- WiredTiger运行时参数优化
MongoDB的WiredTiger存储引擎,用了一段时间,遇到了一些问题,通过优化WT参数,也解决了一些问题,做个小结. cache_size 指定WT存储引擎内部cache的内存用量上限. 需要注 ...
- Snap们崛起告诉我们:这个世界太需要悄悄话
北京时间3月3日凌晨,"阅后即焚"应用Snapchat母公司Snap在纽约证券交易所上市.开盘价24美元,比其初定的17美元IPO价格高出近41.2%,按照24美元的股价计算, ...
- tfgan折腾笔记(一):核心功能简要概述
tfgan是什么? tfgan是tensorflow团队开发出的一个专门用于训练各种GAN的轻量级库,它是基于tensorflow开发的,所以兼容于tensorflow.在tensorflow1.x版 ...
- ORB-SLAM2 运行 —— ROS + Android 手机摄像头
转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12404730.html 本文要点: ROS 配置安装 解决 sud ...
- Pycharm+PyQt5开发环境配置
一.安装Python开发环境 python官网下载地址:https://www.python.org/downloads/ 注:千万不要使用最新测试版,很有可能第三方库不支持 笔者目前使用的版本是3. ...