Java八大常用类(三) String类(重要,重点掌握)
2023-03-07 09:11:47 时间
字符串相关类,面试问的多,但是应用简单
String类的简单掌握方法
package oop2.demo06;
import javax.sound.midi.Soundbank; import java.util.Locale; import java.util.UUID;
public class StringB {
public static void main(String[] args) {
String a = "beijing";
String b = ""; //空字符串
String c = null; //空对象 不能使用isEmpty() 方法
System.out.println(a.length()); //返回字符串的长度 重要
System.out.println(b.isEmpty()); //是否为空
System.out.println(a.startsWith("ei")); //判断是否是以 ei 开头
System.out.println(a.endsWith("ing")); //判断是否是 以 ing 结尾
System.out.println(a.toUpperCase()); //转换为英文大写
System.out.println(a.toLowerCase()); //转为小写
System.out.println("================================字符串查找方法(全部掌握)=======================");
System.out.println(a.charAt(0)); //查找字符串中的第n个字母 (底层代码是以char类型的数组,数字从0开始)
System.out.println(a.indexOf("i")); //查找字符串中i,第一次出现的时候,数组索引数值,根据指定的字符串查询指定下标,找不到返回-1
System.out.println(a.indexOf("j",2)); //从指定位置查询字符下标.从数组下标为(2)开始,顺序找,找到j的字符下标
System.out.println(a.lastIndexOf("j",6)); //从数组下标为(6)开始找开始,倒序找,找到j的字符下标
System.out.println(a.substring(2,6)); //从数组下标为(2)到数组下标(6)截取字符串,找到j的字符下标
System.out.println(a.substring(2)); //从数组下标为(2)开始截取字符串,一直到结束
String fileName = "2.3.93.jpg";
int i = fileName.lastIndexOf(".");
System.out.println(i);
//文件后缀
String substring = fileName.substring(i);
System.out.println(substring);
//文件名称
String uuid = UUID.randomUUID().toString(); //随机生成文件名
System.out.println(uuid+substring);
}
} 字符串的分割、连接、去空格等方法 package oop2.demo06;
import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; import java.util.Arrays;
public class StringC {
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "beijing北京";
System.out.println("========================字符串中的转化方法======================");
byte[] bytes = str.getBytes();
String str2 = new String(bytes,"GBK"); //可以给指定的字符串进行重新的编码,我们以后会使用
System.out.println(Arrays.toString(bytes));
System.out.println("========================字符串中的拼接、替换、查询是否含有======================");
String str3 = "b-j-n-u";
System.out.println(str3.contains("b")); //判断是否含有指定的字符串,掌握
System.out.println(str3.replace("b","北")); //把b替换成北 。替换指定的字符串内容,掌握
System.out.println(str3.replaceAll("j","京")); //替换指定的字符串内容,支持正则表达式,掌握
System.out.println(str3.concat("yyy")); //b-j-n-uyyy
str3.concat("a");
str3.concat("b");
str3.concat("c");
System.out.println(str3); //b-j-n-u
str3= str3.concat("a");
str3= str3.concat("b");
str3= str3.concat("c");
System.out.println(str3); //b-j-n-uabc
//str3= str3.concat("a").concat("b").concat("c");
System.out.println("========================字符串分割(掌握)======================");
String str5 = "b-j-n-u";
String[] split = str5.split("-");
System.out.println(Arrays.toString(split)); //分割,按照指定的字符位置开始分割字符串
String str6 = " b j n u ";
System.out.println("------->"+str6.trim()+"<--------"); //去除字符串中的开始和结束的空格
}
} 字符串的比较大小 package oop2.demo06;
public class StringD {
public static void main(String[] args) {
String str = "bjnu";
String str2 = "Bjnu";
System.out.println(str.equals(str2)); //是否相等
System.out.println(str.compareTo(str2)); //比较两个字符串的大小,区分大小写的
System.out.println(str.compareToIgnoreCase(str2)); // 比较字符串的大小写,不区分大小写
}
} 举例子 package oop2.home; /*
获得指定后缀yy.uu.jj.png
*/
public class Demo1 {
public static void main(String[] args) {
String str = "yy.uu.jj.png";
int i = str.lastIndexOf("."); //获得最后一个.的下标
System.out.println(str.substring(i)); //根据最后一个点的下标,开始截取
}
} package oop2.home; /*
按照要求把对应学科提取出来 ”java-前端-AI-后台-大数据“
*/
import java.util.Arrays;
public class Demo2 {
public static void main(String[] args) {
String str = "java-前端-AI-后台-大数据";
String[] split = str.split("-");
System.out.println(Arrays.toString(split));
}
} package oop2.home;
/*
从键盘录入一个String身份证,判断是否合法:
位数是否是18位数
前17位数必须是数字
最后一位可以是数字或者是X
*/
public class Demo3 {
public static void main(String[] args) {
String str = "440906200001253285";
if(str.length()==18){
for (int i = 0; i < str.length()-1; i++) {
char c = str.charAt(i);
if(!Character.isDigit(c)){
System.out.println("用户身份证前17位必须是数字");
return;
}
}
char c2 = str.charAt(17);
if(Character.isDigit(c2)||"X".equals(Character.toString(c2))||'X'==c2){
System.out.println("身份证合法");
}else {
System.out.println("不合法");
}
}else {
System.out.println("身份证必须是18位");
}
}
} package oop2.home; /*
校验一个邮箱是否合法:123456789@qq.com
必须有@
. 和 @不能在开头和结尾
.必须在@之后,且不能相邻
不能有连续的两个.
@只能有一个
. 只能有一个
*/
public class Demo4 {
public static void main(String[] args) {
String str = "123456789@qq.com";
//获得第一个@的下标
int a1 = str.indexOf("@");
//获得最后一个@的下标
int a2 = str.lastIndexOf("@");
//获得第一个 . 的位置
int b1 = str.indexOf(".");
//获得最后一个 . 的位置
int b2 = str.lastIndexOf(".");
//获得 .. 的下标
int i = str.indexOf("..");
/*
b1>a1+1 所表达的含义
b1的值一定是大于0
@的位置在 . 之前的 @的位置就一定不会在最后
. 必须在@之后且不相邻
*/
if (a1>0 && a1==a2 && b1>a1+1 && b2<str.length()-1 && i<0){
System.out.println("合法");
}else {
System.out.println("非法");
}
}
}
相关文章
- TPS、并发数与线程数,傻傻分不清楚?
- 从 Java 的角度看待 Go 的编码规范和性能调优| 青训营笔记
- Java 对字符串操作的工具类,很全
- SQL 嵌套 N 层太长太难写怎么办?
- java基于ssm框架开发的公交查询系统源码公交系统源码公交路线查询项目有论文
- Java递归 通过递归实现累加
- java中静态变量与实例变量有何区别
- Java 中static和非static的区别(方法和变量)
- Java中集合的使用语法【增/改/删/查】
- java中super关键字是什么?super关键字的用法。
- java中使用idea部署tomcat项目详细流程(java web)
- Javaweb-servlet环境的搭建
- Java中使用fastjson创建json数据方法
- Java中使用fastjson解析json数据方法
- Maven环境安装、并整合进idea
- Java获取当前时间,并且存入数据库当中。
- Java将String类型数据转换为Integet类型
- 从 Java 的角度实践 Go 工程| 青训营笔记
- centos7安装OpenJDK11
- 【Java入门】常量和变量