Java API
API指的是应用程序编程接口,也就是JDK中提供的各种功能的Java类
1 String类
String类初始化
-
使用字符串常量初始化字符串
String str1="abc";
-
使用String的构造方法初始化字符串对象
public class string { public static void main(String[] args) { //创建一个空的字符串 String str1=new String(); //创建一个内容为abcd的字符串 String str2=new String("abcd"); //创建一个内容为字符数组的字符串 char[] charArray=new char[]{'a','b','c','d'}; String str3=new String(charArray); System.out.println(str1); System.out.println(str2); System.out.println(str3); } }
String类常见操作
方法声明 | 功能描述 |
---|---|
Int indexOf(int ch) | 返回的是ch在字符串中第一次出现的位置 |
Int lastIndexOf(int ch) | 返回的是ch在字符串中最后一次出现的位置 |
int indexOf(String str,int fromIndex) | 从fromIndex指定位置开始,获取ch在字符串中出现的位置,如果没有找到返回-1 |
int lastIndexOf(String str) | 反向索引一个字符出现的位置 |
char charAt(int index) | 根据指定位置获取位置上的某个字符 |
boolean endsWith(str) | 判断字符串是以指定内容结尾 |
int length() | 获取长度 |
boolean equals(str) | 判断字符串内容是否相同,复写了Object类中的equals方法 |
boolean isEmpty() | 判断字符中是否有内容 |
boolean startsWith(str) | 判断字符串中是否以指定内容开头 |
boolean contains(str) | 判断字符串中是否包含某一个子串 |
toLowerCase() | 将字符串转成小写字母 |
toUpperCase() | 将字符串转成大写字符 |
static String valueOf(int) | 将基本数据类型转换成字符串 |
char[] toCharArray() | 将字符串转成字符数组 |
String replace(oldchar, newchar) | 如果要替换的字符不存在,返回的还是原串 |
String[] split(regex) | 切割 |
String substring(begin) | 子串,获取字符串中的一部分从指定位置开始到结尾,如果角标不存在,会出现角标越界异常 |
String substring(begin,end) | 子串,获取字符串中的一部分,从起始位置开始到结束位置为止,保护起始位置不包含结束位置 |
String trim() | 返回一个字符串,将字符串两端的多个空格去除 |
-
基本操作
public class basic { public static void main(String[] args) { //声明字符串 String s="this is a string!"; //获取字符串长度,即字符串的个数 System.out.println("字符串长度为"+s.length()); System.out.println("字符串中的第一个字符"+s.charAt(0)); System.out.println("字符s第一次出现的位置"+s.indexOf('s')); System.out.println("字符s最后一次出现的位置"+s.lastIndexOf('s')); System.out.println("子字符串第一次出现的位置"+s.indexOf("is")); System.out.println("子字符串最后一次出现的位置"+s.lastIndexOf("is")); } }
-
转换操作
public class change { public static void main(String[] args) { String str="this is a string"; System.out.println("将字符串转化为字符数组后的结果"); char[] charArrays=str.toCharArray(); for (char charArray : charArrays) { System.out.println(charArray); } System.out.println("将int值转化为String类型之后的结果:"+String.valueOf(12)); System.out.println("将字符串转化为大写之后的结果"+str.toUpperCase()); } }
-
替换和去除空格操作
public class replace { public static void main(String[] args) { String s="itcast"; //字符串替换操作 System.out.println("将it替换成cn.it的结果:"+s.replace("it","it.cn")); //字符串去除空格操作 String s1="c a s t"; System.out.println("两边去除空格后的结果是:"+s1.trim()); //去除所有空格 System.out.println("去除所有空格的结果:"+s1.replace(" ","")); } }
-
判断操作
public class judge { public static void main(String[] args) { String s1="string"; String s2="str"; System.out.println("判断是否以字符串str开头:"+s1.startsWith("str")); System.out.println("判断是否以字符串ng结尾:"+s1.endsWith("ng")); System.out.println("判断是否包含字符串tri:"+s1.contains("tri")); System.out.println("判断是否以字符串是否为空:"+s1.isEmpty()); System.out.println("判断是否以字符串是否相等:"+s1.equals(s2)); } }
-
截取和分割
public class split { public static void main(String[] args) { String str="羽毛球-篮球-乒乓球"; //下面是字符串截取操作 System.out.println("从第五个字符截取到末尾的结果:"+str.substring(4)); System.out.println("从第5个字符截取到第6个字符的结果"+str.substring(4,6)); //下面是字符串分割操作 System.out.println("分割后的字符串数组中的元素依次为"); String[] strArray=str.split("-");//将字符串转化为字符串数组 for(String i:strArray) { System.out.println(i); } } }
2StringBuffer类
-
字符串的长度和内容不能修改
-
StringBuffer类也称字符缓冲区,它的长度和内容可以改变,在StringBuffer中增加或删除字符时,不会产生新的StringBuffer对象
-
可以对StringBuffer类进行增删改,字符串不行
方法声明 功能描述 StringBuffer append(String s) 将指定的字符串追加到此字符序列。 Stringbuffer insert(int offset, int i) 将 int
参数的字符串表示形式插入此序列中Stringbuffer deleteCharAt(int index) 移除该位置的字符 Stringbuffer delete(int start, int end) 移除此序列的子字符串中的字符 Stringbuffer replace(int start, int end, String str) 使用给定 String
中的字符替换此序列的子字符串中的字符void setCharAt(int index, char ch) 将给定索引处的字符设置为 ch
String toString() 返回此序列中数据的字符串表示形式 StringBuffer reverse() 将此字符序列用其反转形式取代 - 创建StringBuffer类
// 定义一个空的字符串缓冲区,含有16个字符的容量 StringBuffer str1 = new StringBuffer(); // 定义一个含有10个字符容量的字符串缓冲区 StringBuffer str2 = new StringBuffer(10); // 定义一个含有(16+4)的字符串缓冲区,"青春无悔"为4个字符 StringBuffer str3 = new StringBuffer("青春无悔"); /* *输出字符串的容量大小 *capacity()方法返回字符串的容量大小 */ System.out.println(str1.capacity()); // 输出 16 System.out.println(str2.capacity()); // 输出 10 System.out.println(str3.capacity()); // 输出 2
-
追加字符串
StringBuffer buffer = new StringBuffer("hello,"); // 创建一个 StringBuffer 对象 String str = "World!"; buffer.append(str); // 向 StringBuffer 对象追加 str 字符串 System.out.println(buffer.substring(0)); // 输出:Hello,World!
-
替换字符
StringBuffer sb = new StringBuffer("hello"); sb.setCharAt(1,'E'); System.out.println(sb); // 输出:hEllo sb.setCharAt(0,'H'); System.out.println(sb); // 输出:HEllo sb.setCharAt(2,'p'); System.out.println(sb); // 输出:HEplo
-
反转字符串
StringBuffer sb = new StringBuffer("java"); sb.reverse(); System.out.println(sb); // 输出:avaj
-
删除字符串
//使用deleteCharAt函数 StringBuffer sb = new StringBuffer("She"); sb.deleteCharAt(2); System.out.println(sb); // 输出:Sh
//使用delete函数 StringBuffer sb = new StringBuffer("hello jack"); sb.delete(2,5); System.out.println(sb); // 输出:he jack sb.delete(2,5); System.out.println(sb); // 输出:heck
3System类
-
System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的可以直接调用
public static void gc()//运行垃圾回收器(回收未用对象,以便能够快速地重用这些对象当前占用的内存。 public static void exit(int status)// 终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。 public static long currentTimeMillis()//返回:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。 pubiic static void arraycopy(Object src, int srcPos(起始位置), Object dest, int destPos, int length(要复制的数组元素的数量))// 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
4Runtime类
-
Runtime类用于表示虚拟机运行时的状态,用于封装JVM虚拟机的进程
//获得一个Runtime实例(不能new) Runtime run=Runtime.getRuntime();
5Math类
6Random类
-
生成随机数
import java.util.Random; public class Main{ public static void main(String[] args)throws Exception{ Random r=new Random(); System.out.println("产生Float类型随机数:"+r.nextFloat()); System.out.println("产生1~100之间int类型随机数:"+r.nextInt(100)); System.out.println("产生double类型随机数:"+r.nextDouble()); } }