0

0

Java中API的详细介绍

零下一度

零下一度

发布时间:2017-07-03 10:10:43

|

2902人浏览过

|

来源于php中文网

原创

 
关键词:String类、StringBuffer类、System类、Math类、Random类、Date类、Calendar类、DateFormat类
 
API (Application Programming Interface)指的是应用程序编程接口。
一、String类和StringBuffer类
      String类和StringBuffer类位与java.lang包中。
1、String类

①字符串都是对象

②一旦初始化就不可以被更改,因为是常量。

③通过String类的构造函数可以知道,将字节数组或字符转成字符串。

2、String类的构造方法
方法声明 功能描述
String() 创建一个内容为空的字符串
String(char[] value) 根据指定的字符数组创建对象
String(String value) 根据指定的字符串内容创建对象
3、String类常用方法:(包左不包右)
int indexOf(int ch) int lastIndexOf(int ch)
char charAt(int index) boolean endsWith(String suffix)
int length() boolean equals(Object anObject)
boolean isEmpty() boolean startsWith(String prefix)
boolean contains(CharSequence cs) String toUpperCase()
String toLowerCase() String valueOf(int i)
char[] toCharArray() String replace(CharSequence oldstr,CharSequence newstr)
String[] split(String regex) String substring(int beginIndex)
String substring(int beginIndex,int endIndex) String trim()

示例:

 1 public class Example02 {
 2     public static void main(String[] args) {
 3         new Thread(new One()).start();
 4         new Thread(new Two()).start();
 5         new Thread(new Three()).start();
 6         new Thread(new Four()).start();
 7         new Thread(new Five()).start();
 8     }
 9 }
10 //字符串的基本操作
11 class One implements Runnable{
12     public void run() {
13         String s = "abcdedcba";
14         System.out.println("字符串的长度为:"+s.length());
15         System.out.println("字符串中第一个字符:"+s.charAt(0));
16         System.out.println("字符c中第一个出现的位置:"+s.indexOf('c'));
17         System.out.println("字符c中最后出现的位置:"+s.lastIndexOf('c'));
18         System.out.println("_____________");
19     }
20 }
21 //字符串的判断操作
22 class Two implements Runnable {
23     public void run() {
24         String s1 = "abcdedcba";
25         String s2 = "ABCDEDCBA";
26         System.out.println("字符串结尾是否是A:" + s1.endsWith("A"));
27         System.out.println("字符串s1与s2是否相同:" + s1.equals("ABCDEDCBA"));
28         System.out.println("字符串s1是否为空:" + s1.isEmpty());
29         System.out.println("字符串s1是否以abc开头:" + s1.startsWith("abc"));
30         System.out.println("字符串s1是否包含abc:" + s1.contains("abc"));
31         System.out.println("将字符串s1转为大写:" + s1.toUpperCase());
32         System.out.println("将字符串s2转为小写:" + s1.toLowerCase());
33         System.out.println("_____________");
34     }
35 }
36 //字符串的转换操作
37 class Three implements Runnable{
38     public void run() {
39         String s3 = "abcd";
40         System.out.print("将字符串转为字符数组后的结果");
41         char[] charArray=s3.toCharArray();
42         for (int i = 0;i

运行结果:

立即学习Java免费学习笔记(深入)”;

字符串的长度为:9字符串中第一个字符:a
字符c中第一个出现的位置:2字符c中最后出现的位置:6_____________
字符串结尾是否是A:false字符串s1与s2是否相同:false字符串s1是否为空:false字符串s1是否以abc开头:true字符串s1是否包含abc:true将字符串s1转为大写:ABCDEDCBA
将字符串s2转为小写:abcdedcba
_____________
将字符串转为字符数组后的结果a,b,c,d
将int值转换为String类型之后的结果:123_____________
从第五个字符截取到末尾的结果:篮球-乒乓球
从第五个字符截取到第六个字符的结果:篮球
分割后的字符串数组中的元素依次为:将it替换为cn.it的结果:cn.itcase去除字符串两端空格后的结果:i t c a s e
去除字符串所有空格后的结果:itcase
_____________
羽毛球,篮球,乒乓球
_____________

4、StringBuffer:字符串缓冲区,类似是一个字符容器,将任何数据转变字符串进行添加。

5、StringBuffer类常用方法:
StringBuffer append(char c) StringBuffer insert(int offset ,String str)
StringBuffer deleteCharAt(int index) StringBuffer delete(int start, int end)
StringBuffer replace(int start ,int end, String str) void setCharAt(int index,char ch)
String toString() StringBuffer reverse()
示例:
 1 public class Example08 {
 2     public static void main(String[] args) {
 3     add();
 4     new Thread(new remove()).start();
 5     System.exit(0);
 6     new Thread(new alter()).start();
 7     }
 8     public static void add() {
 9         System.out.println("1、添加——————————————————");
10         StringBuffer sb = new StringBuffer();  //定义一个字符串缓冲区
11         sb.append("abcdefg");//在末尾添加字符串
12         System.out.println("append添加结果:" + sb);
13         sb.insert(2, "123");
14         System.out.println("insert添加结果:" + sb);
15     }
16 }
17 class remove implements Runnable{
18     @Override
19     public void run() {
20         System.out.println("2、删除——————————————————");
21         StringBuffer sb = new StringBuffer("abcdefg");
22         sb.delete(1,5);//指定范围删除
23         System.out.println("删除指定范围结果:"+sb);
24         sb.deleteCharAt(2);//指定位置删除
25         System.out.println("删除指定位置结果:"+sb);
26         sb.delete(0,sb.length());//清除缓存区
27         System.out.println("清空缓冲区结果:"+sb);
28     }
29 }
30 class alter implements Runnable{
31     @Override
32     public void run() {
33         System.out.println("3、修改——————————————————");
34         StringBuffer sb = new StringBuffer("abcdefg");
35         sb.setCharAt(1,'p');//修改指定位置字符
36         System.out.println("修改指定位置字符结果:"+sb);
37         sb.replace(1,3,"qq");//替换指定位置字符串或字符
38         System.out.println("替换指定位置字符串或字符结果:"+sb);
39         System.out.println("字符串翻转结果:"+sb.reverse());
40     }
41 }

运行结果:

立即学习Java免费学习笔记(深入)”;

1、添加——————————————————
append添加结果:abcdefg
insert添加结果:ab123cdefg
2、删除——————————————————
删除指定范围结果:afg
删除指定位置结果:af
清空缓冲区结果:

6、StringBuffer与String的区别

①String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的,而StringBuffer表示字符容器,其内容和长度都可以随时改变。

②String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖。

③String类对象可以用操作符+进行连接,而StringBuffer类对象之间不能。

jQuery鼠标经过显示信息效果
jQuery鼠标经过显示信息效果

鼠标放上图片后显示图片的详细介绍信息

下载
 
二、System类常用方法
static void exit(int status) static long gc()
static long currentTimeMills() static void arraycopy(Object src ,int srcPos,Object dest,int destPos,int length)
static Properties getProperties() static String getProperty(String key)
Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。实例方法:Runtime run = Runtime.getRuntime();
 
三、Math类与Random类
1、Math类是数学操作类,静态方法。如
 1 public class Testt01 {
 2     public static void main(String[] args) {
 3         System.out.println("取绝对值:"+Math.abs(-2));
 4         System.out.println("向上取整:"+Math.ceil(2.1));
 5         System.out.println("四舍五入:"+Math.round(2.1));
 6         System.out.println("向下取整:"+Math.floor(2.1));
 7         System.out.println("取最大值:"+Math.max(3.2,2.1));
 8         System.out.println("取最小值:"+Math.min(3.21,2.1));
 9         System.out.println("反余弦:"+Math.acos(Math.PI/90));
10         System.out.println("反正弦:"+Math.asin(Math.PI/45));
11         System.out.println("反正切:"+Math.atan(12));
12         System.out.println(Math.atan2(12,12));
13         System.out.println("余弦:"+Math.cos(Math.PI/3));
14         System.out.println("正弦:"+Math.sin(30*Math.PI/180));//单位为弧度,30度用弧度表示(30*Math.PI/180);
15         System.out.println("自然对数的底数e:"+Math.E);
16         System.out.println("自然对数的底数e的n次方:"+Math.exp(12));
17         System.out.println("圆周率:"+Math.PI);
18         System.out.println("平方根:"+Math.sqrt(5));
19         System.out.println("生成一个大于等于0.0小于1.0的随机值:"+Math.random()); 
20         System.out.println("2的3次方:"+Math.pow( 2,3 )); 
21         System.out.println( System.currentTimeMillis() );//获得当前系统时间,运行程序最省内存 
22         System.out.println( new Date().getTime() );
23         System.out.println( Calendar.getInstance().getTime() );
24 
25    } 
26 }

运行结果:

立即学习Java免费学习笔记(深入)”;

 1 取绝对值:2
 2 向上取整:3.0
 3 四舍五入:2
 4 向下取整:2.0
 5 取最大值:3.2
 6 取最小值:2.1
 7 反余弦:1.5358826490960904
 8 反正弦:0.06987000497506388
 9 反正切:1.4876550949064553
10 0.7853981633974483
11 余弦:0.5000000000000001
12 正弦:0.49999999999999994
13 自然对数的底数e:2.718281828459045
14 自然对数的底数e的n次方:162754.79141900392
15 圆周率:3.141592653589793
16 平方根:2.23606797749979
17 生成一个大于等于0.0小于1.0的随机值:0.3660454717733955
18 2的3次方:8.0
19 1498976435080
20 1498976435085
21 Sun Jul 02 14:20:35 CST 2017
 
2、Rondom类,非静态方法
Rondom类构造方法:Rondom();Rondom( long seed);
Rondom类常用方法
boolean nextBoolean() double nextDouble() float nextFloat()
int nextInt() int nextInt(int n) long nextLong()

示例:

 1 public class Example16 {
 2     public static void main(String[] args) {
 3         new Thread(new One()).start();
 4         new Thread(new Two()).start();
 5         new Thread(new Three()).start();
 6     }
 7 }
 8 class One implements Runnable{
 9     public void run() {
10         Random r = new Random();//不传入种子
11 //        随机产生10个[0,100)之间的整数
12         for (int x=0;x<10;x++){
13             System.out.println(r.nextInt(100));
14         }
15         System.out.println("_____________");
16     }
17 }
18 class Two implements Runnable{
19     public void run() {
20         Random r = new Random(13);//不传入种子
21 //        随机产生10个[0,100)之间的整数
22         for (int x=0;x<10;x++){
23             System.out.println(r.nextInt(100));
24         }
25         System.out.println("_____________");
26     }
27 }
28 class Three implements Runnable{
29     public void run() {
30         Random r = new Random();
31         System.out.println("产生float类型随机数"+r.nextFloat());
32         System.out.println("产生0~100之间int类型随机数"+r.nextInt(100));
33         System.out.println("产生double类型随机数"+r.nextDouble());
34         System.out.println("_____________");
35     }
36 }

运行结果:

立即学习Java免费学习笔记(深入)”;

 1 90
 2 98
 3 23
 4 17
 5 97
 6 66
 7 10
 8 42
 9 10
10 67
11 _____________
12 92
13 0
14 75
15 98
16 63
17 10
18 93
19 13
20 56
21 14
22 _____________
23 产生float类型随机数0.9580269
24 产生0~100之间int类型随机数44
25 产生double类型随机数0.13987266903473206
26 _____________
四、针对日期类型的操作类有三个,分别是java.util.Date,java.util.Calendar和 java.text.DateFormat 。
1、Date类用于表示日期和时间:其中构造方法:
    ①Date()用于创建当前日期时间的Date对象,
    ②Date(long date)用于创建指定时间的Date对象。创建如:
    Date date1 = new Date();
    Date date2 = new Date(9666546565L );
 
2、Calendar类用于完成日期和时间字段的操作,为抽象类,不能被实例化,在程序中需要调用其静态方法getInstance()来得到一个Calendar对象,然后调用其相应的方法:
     Calendar calendar = Calendar.getInstance();
     Calendar常用方法:
int get(int field) 返回指定日历字段的值,如 :calendar.(Calendar.YERR);
void add(int field,int amount) void set(int field,int value)
void set(int year,int month,int date) void set(int year,int month,int date,int hourOfDay,int minute,int second)
注意:Calendar.MONTH字段月份的起始值是从0开始而不是1 。
 
示例:
 1 public class Example {
 2     public static void main(String[] args) {
 3         new Thread(new One()).start();
 4         new Thread(new Two()).start();
 5     }
 6 }
 7 class One implements Runnable {
 8     public void run() {
 9         Date date = new Date();
10         Date date2 = new Date(966666666666L);
11         System.out.println(date);
12         System.out.println(date2);
13         System.out.println("--------------");
14     }
15 }
16 class Two implements Runnable {
17     public void run() {
18         Calendar calendar = Calendar.getInstance();//获取表示当前时间的Calendar
19         int year = calendar.get(Calendar.YEAR);
20         int month = calendar.get(Calendar.MONTH)+1;
21         int date = calendar.get(Calendar.DATE);
22         int hour = calendar.get(Calendar.HOUR);
23         int minute = calendar.get(Calendar.MINUTE);
24         int second = calendar.get(Calendar.SECOND);
25         System.out.println("当前时间为:"+year+"年"+month+"月"+date+"日"+hour+"时"+minute+"分"+second+"秒");
26         System.out.println("--------------");
27     }
28 }

运行结果:

立即学习Java免费学习笔记(深入)”;

Sun Jul 02 14:29:41 CST 2017Sat Aug 19 14:31:06 CST 2000
-------------当前时间为:2017年7月2日2时29分41秒
--------------

 

 
3、DateFormat类,专门用于将日期格式化为字符串或者用特定格式显示的日期字符串转换成一个Date对象,抽象类不可实例化,但提供静态方法。
     SimpleDateFormat ,DateFormat类子类,可通过new创建实例对象, 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户      自定义日期时间格式来运行。如:
     SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
     这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。
     注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。
     以上实例编译运行结果如下:
     Current Date: Sun 2014.07.18 at 14:14:09 PM PDT
     其中parse(String source)方法,它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。
示例:
 1 public class Example {
 2     public static void main(String[] args) throws Exception{
 3 //        创建一个SimpleDateFormat 对象
 4         SimpleDateFormat df1 = new SimpleDateFormat(
 5                 "Gyyyy年MM月dd日:今天是yyyy年的第D天,E");
 6 //        SimpleDateFormat 对象的日期模板格式化Date对象
 7         System.out.println(df1.format(new Date()));
 8 
 9         SimpleDateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日");
10         String dt = "2012年8月3日";
11 //      将字符串解析成Date对象
12         System.out.println(df2.parse(dt));
13     }
14 }

运行结果:

立即学习Java免费学习笔记(深入)”;

AD2017年07月02日:今天是2017年的第183天,Sun
Fri Aug 03 00:00:00 CST 2012

 

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

2

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

2

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

0

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

0

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.29

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

25

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

8

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

622

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 3万人学习

C# 教程
C# 教程

共94课时 | 7.9万人学习

Java 教程
Java 教程

共578课时 | 53.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号