关键词: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<charArray.length;i++){ 43 if(i!=charArray.length-1){ 44 System.out.print(charArray[i]+","); 45 }else 46  System.out.println(charArray[i]); 47  } 48 System.out.println("将int值转换为String类型之后的结果:"+String.valueOf(123)); 49 System.out.println("_____________"); 50  } 51 } 52 //字符串的替换和去除空格操作 53 class Four implements Runnable{ 54 public void run() { 55 String s = "itcase"; 56 System.out.print("将it替换为cn.it的结果:"+s.replace("it","cn.it")); 57 String s4 = " i t c a s e "; 58 System.out.println("去除字符串两端空格后的结果:"+s4.trim()); 59 System.out.println("去除字符串所有空格后的结果:"+s4.replace(" ","")); 60 System.out.println("_____________"); 61 62  } 63 } 64 //字符串的截取和分割 65 class Five implements Runnable{ 66 public void run() { 67 String str = "羽毛球-篮球-乒乓球"; 68 System.out.println("从第五个字符截取到末尾的结果:"+str.substring(4)); 69 System.out.println("从第五个字符截取到第六个字符的结果:"+str.substring(4,6)); 70 System.out.print("分割后的字符串数组中的元素依次为:"); 71 String[] strArray = str.split("-"); 72 for (int i = 0;i<strArray.length;i++){ 73 if(i!=strArray.length-1){ 74 System.out.print(strArray[i]+","); 75 }else { 76  System.out.println(strArray[i]); 77  } 78  } 79 System.out.println("_____________"); 80  } 81 }

运行结果:

字符串的长度为: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 }

运行结果:

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

6、StringBuffer与String的区别

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

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

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

二、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 }

运行结果:

 1 取绝对值:22 向上取整:3.03 四舍五入:24 向下取整:2.05 取最大值:3.26 取最小值:2.17 反余弦:1.53588264909609048 反正弦:0.069870004975063889 反正切: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 }

运行结果:

 1 902 983 234 175 976 667 108 429 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 }

运行结果:

Sun Jul 02 14:29:41 CST 2017
Sat 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 }

运行结果:

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

转载于:https://www.cnblogs.com/gdwkong/p/7106022.html

Java入门——(5)Java API相关推荐

  1. Java必备:java入门、java学习

    2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文为北京尚学堂原创文章,未经允许不得转载. 1.Java入门 1-1.Java具有那些适合在Internet环境中 ...

  2. JAVA入门笔记·JAVA名词及环境搭建

    文章目录 一.JAVA主要特征 二.JAVA名词解释 三.环境搭建 一.JAVA主要特征 面向对象 分布式 跨平台 更安全 二.JAVA名词解释 JRE(运行环境) 包括JAVA虚拟机和JAVA程序所 ...

  3. 带你Java入门(Java系列1)

    目录 前言: 1.什么是Java 2.Java的语言特点 3.初识Java的main方法 4.注释 5.标识符 6.关键字 7.1基本数据类型 7.2引用数据类型 8.变量 8.1.整形变量 8.2. ...

  4. java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...

    常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...

  5. [Java入门笔记] Java语言基础(四):流程控制

    2019独角兽企业重金招聘Python工程师标准>>> 流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步 ...

  6. [Java入门笔记] Java语言基础(二):常量、变量与数据类型

    2019独角兽企业重金招聘Python工程师标准>>> 常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Ja ...

  7. Java入门第三季——Java中的集合框架(中):MapHashMap

    1 package com.imooc.collection; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 /** 7 * 学生 ...

  8. Java入门系列——Java语言基础(小康小白)

    我是小康小白,一个平平无奇的Java,Python小白.热爱有趣的文字,生活和远方. 个人博客:https://blog.csdn.net/weixin_45791445 有问题欢迎QQ联系:1059 ...

  9. Java入门之~Java基础语法

    ✨✨✨✨✨✨✨✨✨每篇前言✨✨✨✨✨✨✨✨✨ 博客主页:Ara~追着风跑 励志语录:

  10. Java小结|Java入门知识点

    Java入门知识点 Java入门知识点 Java的起源与演变 Java的起源 Java的演变 Java 体系与特点 Java体系 Java能做什么 Java的特性 Java 跨平台原理 Java 技术 ...

最新文章

  1. C++中 *(指针引用)与*(指针)的区别
  2. SCCM 2012系列3 安装SCCM 2012
  3. 【HDU - 1025】Constructing Roads In JGShining's Kingdom(dp最长上升子序列模型 + 二分优化)
  4. ios android 宏,iOS常用宏定义
  5. nero刻录软件中文版|nero express刻录软件 (附教程)
  6. 录播网站 服务器,录播服务器
  7. python逆时针画圆_python 逆时针
  8. 离散数学 用c++实现离散数学逻辑推理
  9. 【爬坑】解决“ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘ ”的问题
  10. 【Linux网络编程】网络基础知识
  11. 谷歌浏览器 一律不翻译英语 恢复
  12. 回收苹果手机,这个平台你知道吗
  13. 下载网络图片两种方式
  14. jquery的$是什么意思与相关的
  15. 企业如何提前规划国家高新认定?
  16. php获取客户端设备信息,php获取手机设备信息
  17. android自动路由,android 网关 路由 设置
  18. RDP(Reliable--UDP)Library--可靠UDP传输实现方案 - 缘分天空的日志 - 网易博客
  19. 大学python考试试题_大学Python程序题题库
  20. Win10与子系统Ubuntu 18.04 LTS之间互传文件

热门文章

  1. 基于netty实现socketio的聊天室
  2. 你知道谷歌有个社区叫 GBG 么?
  3. 一位读者关于买房的困惑
  4. Google出品,必属精品
  5. Docker 镜像-管理-导入-导出
  6. 虚拟机克隆后没有IP
  7. Pychram - 使用介绍
  8. js固定小数位数 .toFixed()
  9. python核心编程笔记--chapter2
  10. 利用纯CSS3实现超立体的3D图片侧翻倾斜效果