Java学习——常用类(API)
每日好句好段:
不理智的善良,都是犯罪。不要哭泣,不能哭泣,哭泣解决不了任何的问题!在这个冰冷的世界上,唯有实力才是一切啊!
文章目录
- 前言
- 一、Arrays
- 二、StringBuilder
- 三、日期时间类
- 1.Calendar
- 2.Date
- 3.DateFormat
- 四、Math
- 五、System
- 六、Random
- 七、Object类
- 八、String转换成对应的基本类型
- 总结
前言
Java 类库提供了不少常用类,可以在编程中直接调用使用。本节讲重点讲解 Arrays、StringBuilder、Calendar、Date、Math、System、Random 类以及类的常用方法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Arrays
Arrays 类包含用于操作数组的各种方法(例如排序和搜索)。还包含一个静态工厂,允许将数组转为 List。
- 常用方法
方法 | 描述 |
---|---|
void sort(Object[] a) | 对数组进行排序 |
void fill(Object[] a, Object val) | 为数组的所有元素都赋上相同的值 |
boolean equals(Object[] a, Object[] a2) | 检查两个数组是否相等 |
String toString( ) | 返回该对象的字符串表示 |
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、StringBuilder
StringBuilder 类是可变的。它是 String 的对等类,它可以增加和编写字符的可变序列,并且能够将字符插入到字符串中间或附加到字符串末尾(当然是不用创建其他对象的)。
- 常用功能
构造方法 | 说明 |
---|---|
StringBuilder() | 构造一个其中不带字符的 StringBuilder,其初始容量为 16 个字符 |
StringBuilder(CharSequence seq) | 构造一个 StringBuilder,它包含与指定的 CharSequence 相同的字符 |
StringBuilder(int capacity) | 构造一个具有指定初始容量的 StringBuilder |
StringBuilder(String str) | 并将其内容初始化为指定的字符串内容 |
常用方法 | 功能描述 |
---|---|
insert(int offsetm,Object obj) | 在 offsetm 的位置插入字符串 obj |
append(Object obj) | 在字符串末尾追加字符串 obj |
length() | 确定 StringBuilder 对象的长度 |
setCharAt(int index,char ch) | 使用 ch 指定的新值设置 index 指定的位置上的字符 |
toString() | 转换为字符串形式 |
reverse() | 反转字符串 |
delete(int start, int end) | 删除调用对象中从 start 位置开始直到 end 指定的索引(end-1)位置的字符序列 |
replace(int start, int end, String str) | 使用一组字符替换另一组字符。将用替换字符串从 start 指定的位置开始替换,直到 end 指定的位置结束 |
三、日期时间类
1.Calendar
java.util.Calendar 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
案例:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class CalendarDemo {public static void main(String[] args) {System.out.println("完整显示日期时间:");// 字符串转换日期格式DateFormat fdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String str = fdate.format(new Date());System.out.println(str);// 创建 Calendar 对象Calendar calendar = Calendar.getInstance();// 初始化 Calendar 对象,但并不必要,除非需要重置时间calendar.setTime(new Date());// 显示年份System.out.println("年: " + calendar.get(Calendar.YEAR));// 显示月份 (从0开始, 实际显示要加一)System.out.println("月: " + calendar.get(Calendar.MONTH));// 当前分钟数System.out.println("分钟: " + calendar.get(Calendar.MINUTE));// 今年的第 N 天System.out.println("今年的第 " + calendar.get(Calendar.DAY_OF_YEAR) + "天");// 本月第 N 天System.out.println("本月的第 " + calendar.get(Calendar.DAY_OF_MONTH) + "天");// 3小时以后calendar.add(Calendar.HOUR_OF_DAY, 3);System.out.println("三小时以后的时间: " + calendar.getTime());// 格式化显示str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());System.out.println(str);// 重置 Calendar 显示当前时间calendar.setTime(new Date());str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());System.out.println(str);// 创建一个 Calendar 用于比较时间Calendar calendarNew = Calendar.getInstance();// 设定为 5 小时以前,后者大,显示 -1calendarNew.add(Calendar.HOUR, -5);System.out.println("时间比较:" + calendarNew.compareTo(calendar));// 设定7小时以后,前者大,显示 1calendarNew.add(Calendar.HOUR, +7);System.out.println("时间比较:" + calendarNew.compareTo(calendar));// 退回 2 小时,时间相同,显示0calendarNew.add(Calendar.HOUR, -2);System.out.println("时间比较:" + calendarNew.compareTo(calendar));// calendarNew创建时间点System.out.println((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendarNew.getTime()));// calendar创建时间点System.out.println((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime()));System.out.println("时间比较:" + calendarNew.compareTo(calendar));}
}
- 常用方法
- public int get(int field) :返回给定日历字段的值。
- public void set(int field, int value) :将给定的日历字段设置为给定值。
- public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指定的时间量。
- public Date getTime() :返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
Calendar类中提供很多成员常量,代表给定的日历字段:
字段值 | 含义 |
---|---|
YEAR | 年 |
MONTH | 月(从0开始,可以+1使用) |
DAY_OF_MONTH | 月中的天(几号) |
HOUR 时 | (12小时制) |
HOUR_OF_DAY 时 | (24小时制) |
MINUTE | 分 |
SECOND | 秒 |
DAY_OF_WEEK | 周中的天(周几,周日为1,可以-1使用) |
2.Date
Date 类表示日期和时间,里面封装了操作日期和时间的方法。Date 类经常用来获取系统当前时间。
- public Date() :分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
- public Date(longdate) :分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历 元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
- public long getTime() 把日期对象转换成对应的时间毫秒值。
案例:
import java.text.SimpleDateFormat;
import java.util.Date;public class DateDemo {public static void main(String[] args) {String strDate, strTime;Date objDate = new Date();System.out.println("今天的日期是:" + objDate);long time = objDate.getTime();System.out.println("自1970年1月1日起以毫秒为单位的时间(GMT):" + time);strDate = objDate.toString();//提取 GMT 时间strTime = strDate.substring(11, (strDate.length() - 4));//按小时、分钟和秒提取时间strTime = "时间:" + strTime.substring(0, 8);System.out.println(strTime);//格式化时间SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(formatter.format(objDate));}
}
3.DateFormat
java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
格式化:按照指定的格式,从Date对象转换为String对象。
解析:按照指定的格式,从String对象转换为Date对象。
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat 。这个类需要一个模式(格式)来指定格式化或解析的标准。
构造方法为:
- public SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
参数pattern是一个字符串,代表日期时间的自定义格式。
- 格式规则
- 常用的格式规则为:
标识字母(区分大小写) | 含义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
示例:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class Demo02SimpleDateFormat { public static void main(String[] args) { // 对应的日期格式如:2018-01-16 15:06:38 DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); }
}
- 常用方法
- public String format(Date date) :将Date对象格式化为字符串。
- public Date parse(String source) :将字符串解析为Date对象。
在这个冰冷的世界上,唯有实力才是一切啊!
四、Math
Math 类在 java.lang 包中,包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
- 常见方法:
方法 | 功能描述 |
---|---|
sin(double numvalue) | 计算角 numvalue 的正弦值 |
cos(double numvalue) | 计算角 numvalue 的正弦值 |
acos(double numvalue) | 计算 numvalue 的反余弦 |
asin(double numvalue) | 计算 numvalue 的反正弦 |
atan(double numvalue) | 计算 numvalue 的反正切 |
pow(double a, double b) | 计算 a 的 b 次方 |
sqrt(double numvalue) | 计算给定值的正平方根 |
abs(int numvalue) | 计算 int 类型值 numvalue 的绝对值,也接收 long、float 和 double 类型的参数 |
ceil(double numvalue) | 返回大于等于 numvalue 的最小整数值 |
floor(double numvalue) | 返回小于等于 numvalue 的最大整数值 |
max(int a, int b) | 返回 int 型 a 和 b 中的较大值,也接收 long、float 和 double 类型的参数 |
min(int a, int b) | 返回 a 和 b 中的较小值,也可接受 long、float 和 double 类型的参数 |
rint(double numvalue) | 返回最接近 numvalue 的整数值 |
round(T arg) | 返回最接近 arg 的整数值 |
random() | 返回最接近 arg 的整数值 |
案例:
public class MathDemo {public static void main(String[] args) {System.out.println(Math.abs(-12.7));System.out.println(Math.ceil(12.7));System.out.println(Math.rint(12.4));System.out.println(Math.random());System.out.println("sin30 = " + Math.sin(Math.PI / 6));// 计算30°的正弦值,参数是用弧度表示的角,即π的六分之一System.out.println("cos30 = " + Math.cos(Math.PI / 6));// 计算30°的余弦值,这些计算三角函数的方法,其参数和返回值的类型都为doubleSystem.out.println("tan30 = " + Math.tan(Math.PI / 6));// 计算30°的正切值}
}//结果
12.7
13.0
12.0
0.8011998172263968
sin30 = 0.49999999999999994
cos30 = 0.8660254037844387
tan30 = 0.5773502691896257
五、System
System 类提供了以下功能:
- 标准输入,标准输出和错误输出流;
- 访问外部定义的属性和环境变量;
- 加载文件和库的方法;
- 以及用于快速复制数组的实用方法。
System 不可以被实例化,只可以使用其静态方法。
//从指定的源数组中复制一个数组,从源数组指定的位置开始,到目标数组指定的位置
public static void arraycopy(Object src,int srcPos, Object dest,int desPos,int length)
//返回以毫秒为单位的当前时间(从1970年到现在的毫秒数)
public static long currentTimeMillis()
//终止当前正在运行的Java虚拟机,status为 0时退出
public static void exit(int status)
// 运行垃圾收集器
public static void gc()
// 取得当前系统的全部属性
public static Properties getProperties()
//获取指定键的系统属性
public static String getProperty(String key)
使用示例:
import java.util.Arrays;public class SystemDemo {public static void main(String[] args) {int[] a = {7, 8, 9, 10, 11};int[] b = {1, 2, 3, 4, 5, 6};//从数组a的第二个元素开始,复制到b数组的第三个位置 复制的元素长度为3System.arraycopy(a, 1, b, 2, 3);//输出结果System.out.println(Arrays.toString(b));System.out.println("当前时间:" + System.currentTimeMillis());System.out.println("java版本信息:" + System.getProperty("java.version"));//运行垃圾收集器System.gc();//退出System.exit(0);}
}//结果
[1, 2, 8, 9, 10, 6]
当前时间:1544670501472
java版本信息:11
六、Random
Random 类用于生成伪随机数流,在 java.util包下。
使用示例:
import java.util.Random;public class RandomDemo {public static void main(String[] args) {Random random = new Random();//随机生成一个整数 int范围System.out.println(random.nextInt());//生成 [0,n] 范围的整数 设n=100System.out.println(random.nextInt(100 + 1));//生成 [0,n) 范围的整数 设n=100System.out.println(random.nextInt(100));//生成 [m,n] 范围的整数 设n=100 m=40System.out.println((random.nextInt(100 - 40 + 1) + 40));//随机生成一个整数 long范围System.out.println(random.nextLong());//生成[0,1.0)范围的float型小数System.out.println(random.nextFloat());//生成[0,1.0)范围的double型小数System.out.println(random.nextDouble());}
}//结果
272128541
67
93
66
-23177167376469717070.93104035
0.20044632645967309
七、Object类
java.lang.Object 类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。
在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类。
- public String toString() :返回该对象的字符串表示。
- public boolean equals(Objectobj) :指示其他某个对象是否与此对象“相等”。
八、String转换成对应的基本类型
- 常用方法
- public static byte parseByte(String s) :将字符串参数转换为对应的byte基本类型。
- public static short parseShort(String s) :将字符串参数转换为对应的short基本类型。
- public static int parseInt(String s) :将字符串参数转换为对应的int基本类型。
- public static long parseLong(String s) :将字符串参数转换为对应的long基本类型。
- public static float parseFloat(String s) :将字符串参数转换为对应的float基本类型。
- public static double parseDouble(String s) :将字符串参数转换为对应的double基本类型。
- public static boolean parseBoolean(String s) :将字符串参数转换为对应的boolean基本类型。
总结
此次内容只需要理解并会运用。
Java学习——常用类(API)相关推荐
- Java中常用的API
文章目录 前言 一.java.lang String StringBuilder Integer parseXXX Math Object System Throwable Thread Runnab ...
- 【java中常用的API】
java中有很多常用的API,它们提供了便捷的使用方法和工具类,让我们来看一看java中常用的API吧. 1.math类: 它包含基本的数字运算方法,如对数.指数.平方根和三角函数等,一般数据类型为d ...
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...
本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...
- 【读码JDK】- java.lang.Double类Api介绍及测试
[读码JDK]java.lang包目录 请自行调整包路径,中文仅供参考. java.lang.Double类Api介绍及测试 package lang;import org.junit.Test;/* ...
- Java SE 常用类:枚举enum
Java SE 常用类:枚举enum 1.enum 枚举 表示一种事物的所有可能|一种类型的所有情况. 软件包 java.lang 注意: 枚举类型不能自定义实例化,实例由程序猿|枚举类型自己提供,因 ...
- 生活常用类API推荐
之前在网上看到了一些很不错的生活常用类的API,今天在这里整理出来分享给大家~ 阿里云 中华万年历API,中华万年历 宜忌测开张.测乔迁.测结婚.测签约.测动工.测栽种.测出行.测入宅.测纳彩:逢凶化 ...
- 六、Java中常用的API(通过包进行分类)————File类、IO流
一.util工具包下的补充类 介绍io包之前,先补充介绍几个常用的工具类 1.Scanner类 什么是Scanner类 一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 Sy ...
- hashset java api_java常用对象API中集合框架之HashSet
之前在<java常用对象API之集合框架>这篇文章中已经将所有集合框架做了一个总体的大纲陈列,并阐述了所有Collection接口下的子接口和类的作用解释,那么接下来的文章智言还是想把里面 ...
最新文章
- 比较零知识证明算法zkSNARK,zkSTARKs,zkBoo,Sonic,BulletProofs
- java 数据存储到什么地方?
- java方法体逻辑不会写怎么办,想自己写框架?不会写Java注解可不行
- idea不自动检查语法_idea自动检查失效-目录中类名下的红色波浪线没有自动消除问题...
- Luogu_2774 方格取数问题
- oracle如何自定义类型,Oracle 自定义类型
- 为什么企业宁愿花 15K 重新招人,也不愿意花 10K 留住老测试员?
- 程序员的数学 3 线性代数pdf
- 【计算机网络安全基础(第五版)袁津生 课后习题答案】
- idea快捷键 java
- C语言—黑客数字雨特效
- 20170716xlVba销售明细转销售单据
- 电工结业试卷_电工结业总结
- 微信小程序父子组件传值
- 痞子衡嵌入式:ARM Cortex-M内核那些事(3.2)- 安全模块看特性(M23/33/35P)
- xamp配置多域名站点
- 如何用 Ps 制作毛玻璃穿透效果?
- AndroidDevTools
- 不同业务场景Cas客户端(Java业务系统)接入
- 打包软件InstallShield更新至v2019,快速解决各种安装问题
热门文章
- 2011年Web开发领域回顾与展望
- 转载:NC6400安装Win7系统驱动列表及注意事项
- 达人评测 小米ea552022款怎么样
- WORD如何给公式,图,表标号并自动排序
- 北京2018年计算机技校,2018年北京十大技校排名 排名前十的学校有哪些?
- pusart log以及slog
- 屏蔽谷歌chrom浏览器的跨域检测的最新方案
- @value 数组_深入PHP数组
- 梦幻模拟战更新服务器正在维护,梦幻模拟战1月24日更新公告 新活动揭示的哲学开放[多图]...
- C++内存管理--详谈