API指的是应用程序编程接口,也就是JDK中提供的各种功能的Java类
使用字符串常量初始化字符串
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);
}
}
方法声明 | 功能描述 |
---|---|
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);
}
}
}
字符串的长度和内容不能修改
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() | 将此字符序列用其反转形式取代 |
// 定义一个空的字符串缓冲区,含有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
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(要复制的数组元素的数量))// 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
Runtime类用于表示虚拟机运行时的状态,用于封装JVM虚拟机的进程
//获得一个Runtime实例(不能new)
Runtime run=Runtime.getRuntime();
生成随机数
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());
}
}
原文:https://www.cnblogs.com/MirandaYuen/p/14258802.html