本文最后更新于2022年6月1日,已超过 1 年没更新!内容可能已失效,请自行测试。
JavaDoc文档简介
进行开发的过程中,需要大量使用Java的API文档,这个文档可以在线查看
https://docs.oracle.com/javase/9/docs/api/overview-summary.html
JDK1.9之前,常用类库会在JVM启动时全部加载;从1.9开始提供模块化设计,将一些程序类放在了不同的模块里
字符串与字符数组
案例代码:字符串与字符数组的转换
/*字符串与字符数组的转换*/
public class StringCharDemo {
public static void main(String[] args) {
String str2 = "hellowworld";
char[] result = str2.toCharArray(); // 将字符串变成字符数组
for (int x = 0; x < result.length; x++) {
result[x] -= 32;
} // 全部变成大写
String newStr = new String(result); // 字符数组转换为String类
System.out.println(newStr); // 输出
}
}
案例代码:判断一个字符串中的数组是否全由数字组成
/**
* 判断一个字符串中的数组是否全由数字组成 如果想要判断字符串中的每一位数据,最好将其转换为字符数组 可以判断每一个字符是否在数字的范围之内 ('0'~'9') 如果有一位不是数字,那么验证失败
*/
public class StringCharDemo2 {
public static void main(String[] args) {
/** 定义两个字符串 */
String str = "123456";
String str2 = "123hh456";
if (isAllnum(str)) {
System.out.println("全是数字组成");
} else {
System.out.println("不全是数字组成");
}
if (isAllnum(str2)) {
System.out.println("全是数字组成");
} else {
System.out.println("不全是数字组成");
}
}
// 写一个用于判断的方法
public static boolean isAllnum(String str) {
char[] c = str.toCharArray();
boolean flag = true;
for (int i = 0; i < c.length; i++) {
if (c[i] < '0' || c[i] > '9') {
flag = false;
}
}
return flag;
}
}
字符串与字节数组
字符串和字节数组之间也可以实现转换的操作,当进行转换时,主要是为了进行二进制的数据传输或者编码转换
方法名称 | 类型 | 作用 |
public String(byte[] bytes) | 构造 | 将全部的字节数组转换为字符串 |
public String(byte[] bytes,int offset,int length) | 构造 | 将部分的字节数组转换为字符串 |
public byte[] getBytes() | 普通 | 将字符串转为字节数组 |
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException | 普通 | 编码转换 |
案例代码:字符串与字节转换
/*字符串与字节转换 */
public class StringByteDemo {
public static void main(String[] args) {
String str = "helloworld";
byte[] bb = str.getBytes(); // 将字符串变为字节数组
for (int i = 0; i < bb.length; i++) {
bb[i] -= 32;
}
System.out.println(new String(bb));
System.out.println(new String(bb, 0, 5));
}
}
字符串比较
方法名称 | 类型 | 作用 |
public boolean equals(String anObject) | 普通 | 区分大小写的相等比较 |
public boolean equalsIgnoreCase(String anObject) | 普通 | 不区分大小写的相等比较 |
public int compareTo(String anotherString) | 普通 | 进行字符串大小比较,返回一个int数据:大于,小于,等于 |
public int compareToIgnoreCase(String str) | 普通 | 不区分大小写进行字符串大小比较 |
案例代码:字符串比较
/*字符串比较 */
public class StringEqualsDemo {
public static void main(String[] args) {
String strA = "AB";
String strB = "Ab";
String strC = "6";
String strD = "5";
System.out.println(strA.equals(strB)); // 区分大小写的相等比较
System.out.println(strA.equalsIgnoreCase(strB)); // 不区分大小写的相等比较
System.out.println(strC.compareTo(strD)); // 进行字符串大小比较
System.out.println("HELLO".compareTo("HELLO")); // 进行字符串大小比较
System.out.println(strD.compareToIgnoreCase(strC)); // 不区分大小写进行字符串大小比较
}
}
字符串查找
从一个完整的字符串中查找某一个字符,返回其索引位置
方法名称 | 类型 | 作用 |
public boolean contains(String s) | 普通 | 判断字符串是否存在 |
public int indexOf(String s) | 普通 | 从头查找指定字符串的位置 |
public int indexOf(int ch, int fromIndex) | 普通 | 从指定位置查找指定字符串的位置 |
public int lastIndexOf(String s) | 普通 | 由后向前查找指定字符串的位置 |
public int lastIndexOf(String s, int fromIndex) | 普通 | 从指定位置由后向前查找指定字符串的位置 |
public startsWith(String prefix) | 普通 | 判断是否以指定的字符串开头 |
public startsWith(String prefix, int toffset) | 普通 | 由指定位置判断是否以指定的字符串开头 |
public boolean endsWith(String suffix) | 普通 | 判断是否以指定的字符串结尾 |
案例代码:判断字符串是否存在
/*判断字符串是否存在*/
public class StringFindDemo {
public static void main(String[] args) {
String str = "helloworld";
System.out.println(str.contains("hello"));
}
}
判断字符串是否存在2
/*判断字符串是否存在2*/
public class StringFindDemo2 {
public static void main(String[] args) {
String str = "helloworld";
System.out.println(str.indexOf("hello")); // 0 代表第0个位置
System.out.println(str.lastIndexOf("0")); // 6代表第6个位置
}
}
indexOf是为了进行字符串位置的查询,在一些开发中可以利用此进行索引的查找,也可以使用lastIndexOf由后往前查找
判断是否以指定的字符串开头
/*判断是否以指定的字符串开头 */
public class StringFindDemo3 {
public static void main(String[] args) {
String str = "helloworld";
System.out.println(str.startsWith("h"));
System.out.println(str.endsWith("d"));
}
}
字符串替换
方法名称 | 类型 | 作用 |
public String replaceFirst(String regex, String replacement) | 普通 | 替换首个 |
public String replaceAll(String regex, String replacement) | 普通 | 全部替换 |
案例代码:字符串替换
/*案例代码:字符串替换*/
public class StringRepDemo {
public static void main(String[] args) {
String str = "helloworld";
System.out.println(str.replaceAll("l", "_"));
System.out.println(str.replaceFirst("l", "_"));
}
}
字符串拆分
普通方法名称 | 类型 | 作用 |
public String[] split(String regex) | 普通 | 按照指定的字符串进行拆分 |
public String[] split(String regex, int limit) | 按照指定的字符串进行拆分,限制个数 |
案例代码:字符串拆分
/*案例代码:字符串拆分 */
public class StringSplDemo {
public static void main(String[] args) {
String str = "hello world hello moto";
String str2 = "hello world hello moto";
String[] result = str.split(" ");
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
System.out.println("--------------");
String[] result2 = str2.split(" ", 2);
for (int i = 0; i < result2.length; i++) {
System.out.println(result2[i]);
}
}
}
字符串截取
方法名称 | 类型 | 作用 |
public String substring(int beginIndex) | 普通 | 从指定索引截取到结尾 |
public String substring(int beginIndex, int endIndex) | 普通 | 截取指定范围内的字符串 |
案例代码:字符串截取
/*案例代码:字符串截取 */
public class StringSubDemo {
public static void main(String[] args) {
String str = "HelloWorld!";
System.out.println(str.substring(3)); // 从第三个位置开始截取到末尾
System.out.println(str.substring(0, 5)); // 只截取第0到第5个位置的字符串
System.out.println("----------------");
String str2 = "yeyufan-photo-张三.jpg"; // 字符串结构:"用户-photo-姓名.后缀"
int beginIndex = str2.indexOf("-", str2.indexOf("photo")) + 1;
int endndex = str2.lastIndexOf(".");
System.out.println(str2.substring(beginIndex, endndex));
}
}
字符串格式化
方法名称 | 类型 | 作用 |
public static String format(String format, 各种类型) | 普通 | 根据指定的结构进行文本格式化显示 |
案例代码:字符串格式化
/*案例代码:字符串格式化 */
public class StringForDemo {
public static void main(String[] args) {
String name = "张三";
int age = 18;
double score = 98.765321;
String str = String.format("姓名:%s,年龄:%d,成绩:%5.2f", name, age, score);
System.out.println(str);
}
}
其他操作方法
普通方法名称 | 类型 | 作用 |
public String concat(String str) | 普通 | 字符串连接 |
public String intern() | 普通 | 字符串入池 |
public boolean isEmpty() | 普通 | 判断是否为空 |
public int length() | 普通 | 计算字符串长度 |
public String trim() | 普通 | 去除左右的空格 |
public String toUpperCase() | 普通 | 转换为大写 |
public String toLowerCase() | 普通 | 转换为小写 |
案例代码:字符串连接
/*案例代码:字符串连接 */
public class StringConDemo {
public static void main(String[] args) {
String strA = "yeyufan.cn";
String strB = "ye".concat("yufan").concat(".cn");
System.out.println(strA);
System.out.println(strB);
System.out.println(strA == strB);
}
}
案例代码:字符串入池
/*案例代码:字符串入池*/
public class StringInternDemo {
public static void main(String[] args) {
String str1 = "a";
String str2 = "b";
String str3 = "ab";
String str4 = str1 + str2;
String str5 = new String("ab");
/*这个结果为true.
因为字符串的值的内容相同 */
System.out.println(str5.equals(str3));
/*对比的是引用的地址是否相同.
由于str5采用new String方式定义的,所以地址引用一定不相等,所以结果为false. */
System.out.println(str5 == str3);
/*当str5调用intern的时候,会检查字符串池中是否含有该字符串.
由于之前定义的str3已经进入字符串池中,所以会得到相同的引用. */
System.out.println(str5.intern() == str3);
/*采用new创建的字符串对象不进入字符串池
字符串相加的时候,都是静态字符串的结果会添加到字符串池,如果其中含有变量则不会进入字符串池中*/
System.out.println(str5.intern() == str4);
}
}
案例代码:字符串连接
/*案例代码:字符串连接 */
public class StringConDemo {
public static void main(String[] args) {
String strA = "yeyufan.cn";
String strB = "ye".concat("yufan").concat(".cn");
System.out.println(strA);
System.out.println(strB);
System.out.println(strA == strB);
}
}
案例代码:字符串判断是否为空
/*案例代码:字符串判断是否为空*/
public class StringEmptyDemo {
public static void main(String[] args) {
String str = "";
System.out.println(str.isEmpty());
System.out.println("yeyufan".isEmpty());
/*null和""不是一个概念,一个表示无实例化对象,一个表示内容为空.判断字符串是否为空是在有实例化对象的前提下进行的*/
}
}
案例代码:计算字符串长度
/*计算字符串长度*/
public class StringLengthDemo {
public static void main(String[] args) {
String str = "我的长度是6";
System.out.println("字符串长度为:" + str.length());
}
}
案例代码:去除左右的空格
/*去除左右的空格*/
public class StringTrimDemo {
public static void main(String[] args) {
String str = " ABCD ";
System.out.println(str);
System.out.println(str.trim());
}
}
案例代码:字符串大小写转换
/*案例代码:字符串大小写转换*/
public class StringUppDemo {
public static void main(String[] args) {
String str = "hello world!!";
System.out.println(str.toUpperCase());
System.out.println(str.toUpperCase().toLowerCase());
}
}
案例代码:实现首字母大写
/*案例代码:实现首字母大写*/
public class StringUpperDemo {
public static void main(String[] args) {
String str = "dasdaddd";
System.out.println(Upper(str));
}
public static String Upper(String s) {
if (s == null || "".equals(s)) {
return s;
}
if (s.length() == 1) {
return s.toUpperCase();
}
return s.substring(0, 1).toUpperCase() + s.substring(1);
}
}
Comments | NOTHING