每日好句好段:

不理智的善良,都是犯罪。不要哭泣,不能哭泣,哭泣解决不了任何的问题!在这个冰冷的世界上,唯有实力才是一切啊!

文章目录

  • 前言
  • 一、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)相关推荐

  1. Java中常用的API

    文章目录 前言 一.java.lang String StringBuilder Integer parseXXX Math Object System Throwable Thread Runnab ...

  2. 【java中常用的API】

    java中有很多常用的API,它们提供了便捷的使用方法和工具类,让我们来看一看java中常用的API吧. 1.math类: 它包含基本的数字运算方法,如对数.指数.平方根和三角函数等,一般数据类型为d ...

  3. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  4. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)

    写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...

  5. 【读码JDK】- java.lang.Double类Api介绍及测试

    [读码JDK]java.lang包目录 请自行调整包路径,中文仅供参考. java.lang.Double类Api介绍及测试 package lang;import org.junit.Test;/* ...

  6. Java SE 常用类:枚举enum

    Java SE 常用类:枚举enum 1.enum 枚举 表示一种事物的所有可能|一种类型的所有情况. 软件包 java.lang 注意: 枚举类型不能自定义实例化,实例由程序猿|枚举类型自己提供,因 ...

  7. 生活常用类API推荐

    之前在网上看到了一些很不错的生活常用类的API,今天在这里整理出来分享给大家~ 阿里云 中华万年历API,中华万年历 宜忌测开张.测乔迁.测结婚.测签约.测动工.测栽种.测出行.测入宅.测纳彩:逢凶化 ...

  8. 六、Java中常用的API(通过包进行分类)————File类、IO流

    一.util工具包下的补充类 介绍io包之前,先补充介绍几个常用的工具类 1.Scanner类 什么是Scanner类 一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 Sy ...

  9. hashset java api_java常用对象API中集合框架之HashSet

    之前在<java常用对象API之集合框架>这篇文章中已经将所有集合框架做了一个总体的大纲陈列,并阐述了所有Collection接口下的子接口和类的作用解释,那么接下来的文章智言还是想把里面 ...

最新文章

  1. 比较零知识证明算法zkSNARK,zkSTARKs,zkBoo,Sonic,BulletProofs
  2. java 数据存储到什么地方?
  3. java方法体逻辑不会写怎么办,想自己写框架?不会写Java注解可不行
  4. idea不自动检查语法_idea自动检查失效-目录中类名下的红色波浪线没有自动消除问题...
  5. Luogu_2774 方格取数问题
  6. oracle如何自定义类型,Oracle 自定义类型
  7. 为什么企业宁愿花 15K 重新招人,也不愿意花 10K 留住老测试员?
  8. 程序员的数学 3 线性代数pdf
  9. 【计算机网络安全基础(第五版)袁津生 课后习题答案】
  10. idea快捷键 java
  11. C语言—黑客数字雨特效
  12. 20170716xlVba销售明细转销售单据
  13. 电工结业试卷_电工结业总结
  14. 微信小程序父子组件传值
  15. 痞子衡嵌入式:ARM Cortex-M内核那些事(3.2)- 安全模块看特性(M23/33/35P)
  16. xamp配置多域名站点
  17. 如何用 Ps 制作毛玻璃穿透效果?
  18. AndroidDevTools
  19. 不同业务场景Cas客户端(Java业务系统)接入
  20. 打包软件InstallShield更新至v2019,快速解决各种安装问题

热门文章

  1. 2011年Web开发领域回顾与展望
  2. 转载:NC6400安装Win7系统驱动列表及注意事项
  3. 达人评测 小米ea552022款怎么样
  4. WORD如何给公式,图,表标号并自动排序
  5. 北京2018年计算机技校,2018年北京十大技校排名 排名前十的学校有哪些?
  6. pusart log以及slog
  7. 屏蔽谷歌chrom浏览器的跨域检测的最新方案
  8. @value 数组_深入PHP数组
  9. 梦幻模拟战更新服务器正在维护,梦幻模拟战1月24日更新公告 新活动揭示的哲学开放[多图]...
  10. C++内存管理--详谈