长春人文学院第四组孙乃宇https://www.cnblogs.com/sunnaiyu/String
-
String是一个类,
-
类中可以有那些结构?:属性,方法,构造器
String s1="qbcdefg";
//s1叫做String的对象
//类如果要创建对象,s1并没有new,s1也可以叫做对象
//正常:
String s2=new String("abcdefg");
//s2是通过new创建出来的对象,
//创建对象是需要构造器的,
字符串的比较
String s1="a";
String s2="a";
Scanner sc=new Scanner(System.in);
System.out.println("请输入字符串1");
String s3 = sc.next();//代表new的方式
System.out.println("请输入字符串2");
String s4= sc.next();//代表new的方式
//System.out.println(s3==s4);
//字符串内容的比较
//equals方法:
/*
* 1.需要传参,需要传String类型的参数
* 2.有返回值,Boolean类型
* 3.访问权限:public,*/
System.out.println(s3.equals(s4));
//System.out.println(s1==s2);
字符串的长度
String s1="a";
String s2="a";
Scanner sc=new Scanner(System.in);
System.out.println("请输入字符串1");
String s3 = sc.next();//代表new的方式
System.out.println("请输入字符串2");
String s4= sc.next();//代表new的方式
//System.out.println(s3==s4);
//字符串内容的比较
//equals方法:
/*
* 1.需要传参,需要传String类型的参数
* 2.有返回值,Boolean类型
* 3.访问权限:public,*/
System.out.println(s3.equals(s4));
//System.out.println(s1==s2);
字符串的下标
-
获取指定下标的字符
String s1="abcdefg";
//取出指定位置的下标
Scanner sc=new Scanner(System.in);
char c1 = sc.next().charAt(0);//从键盘获取字符串,取第一个生成字符
char c = s1.charAt(0);
System.out.println(c1);
判断指定字符是否存在于字符串中
String s1="abcdefg";
//判断指定字符串是否存在,返回值为这个字符串在s1的下标
//会返回从左到右第一个匹配的下标
//如果不存在返回-1
//indexOf(String ,int)代表从int位置开始查找,包括当前位置
//System.out.println(s1.indexOf("a",0));
//从后往前找
int a = s1.lastIndexOf("a");
System.out.println(a);
字符串的截取
//字符串的截取
String str="abcerfghijklmn";
/*如果传一个参数,从指定位置开始截取,直到字符串的末尾
* 包括起始位置的字符,生成一个心得字符串,不会改变原有的字符串
* 包含起始位置不包含终止位置*/
String substring = str.substring(1);
String substring1 = str.substring(1, 5);
System.out.println(substring1);
System.out.println(substring);
字符串的其他方法
String str=" abcSSde ";
String str1="abcSSDe";
String str2="123,456,789,00";
//转大写
str.toUpperCase()
//转小写
str.toLowerCase()
//判断是否以XXX开头
str.startsWith("a",2)
//判断是否以XXX结尾
str.endsWith("a")
//忽略大小写比较内容 验证码
str.equalsIgnoreCase(str1)
//去掉字符串前后的空格 用在网页搜索,接收网页数据
str.trim()
//根据指定的字符分割,分割之后,分割条件消失
String[] strings = str2.split(",");
for (String string : strings) {
System.out.print(string);
}
//字符串的替换
str.replace("c", "b")
str.replaceAll("abc", "i")
//字符串和其他数据类型的转换,字符串和数组的转换,数据结构,线性表
//任何数据类型和字符串类型做加法,结果都是字符串
int i=10;
String s = String.valueOf(i);//推荐使用String 类中的静态方法,将int类型转为字符串
//String s=i+"";不推荐使用
System.out.println(s);
//将数组转为字符串,没有方法
int [] arr=new int[]{1,2,3,4,5};
//字符串转字符型数组
char[] array = str.toCharArray();
for (char c : array) {
System.out.print(c);
}
System.out.println();
//字符串转为字节型数组,就转为ASCII码状态
//一般情况下,字节型数组在操作文件时用到的IO流
byte[] bytes = str.getBytes();
for (byte aByte : bytes) {
System.out.print(aByte);
}
包装类
/*包装器类型,包装类,封装类,属于引用数据类型
* byte------------>Byte
* short----------->Short
* int------------->Integer
* long------------>Long
* float----------->Float
* double---------->Double
* char------------>Character
* boolean--------->Boolean
*
* 为什么要有包装器类型?
*场景:员工管理系统:
* 员工:年龄,薪水
* 计算平均工资,平均年龄
*
* */
-
装箱:把int类型包装成了包装器integer类型 也就是说 基本数据类型转换成对应的包装器类型
-
拆箱:把Integer类型转为int类型 将包装器类型转为基本数据类型 JDK5推出了一个新特性,自动装箱,自动拆箱
-
JDK5之后的新功能:
-
1.自动装箱,自动拆箱
-
增强for循环 foreach
-
枚举
-
-
JDK7以后的功能 1.switch...case可以用字符串
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!