常用的API和基础算法

Posted 我是深水的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的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-OJ常用API

人工智能的算法基础篇常用算法和背景知识介绍

Java全栈JavaSE:17.基础API与常见算法

算法基础, 常用算法总结

算法基础| 前缀和算法及模板详解

算法工程师的开发基础-Linux的常用Shell命令