String类型
String是final类型,不可被继承,底层是char类型数组常量,不可更改.而对String对象重新赋值的过程,其实是新建对象的过程
如果需要对String对象频繁赋值,则不推荐使用String
String通用方法
valueOf( )常用来建String对象
format( )格式化,即以什么样的格式输出
split( ) 分割
subString(int beganindex,int endindex) 截取,左闭右开
trim( ) 去两头的空格
indexOf(int ch) 搜索第一个出现的字符ch,没找到返回-1
indexOf(String value) 搜索第一个出现的字符串value,没找到返回-1
lastIndexOf() 搜索最后一个出现的字符或字符串,没找到返回value
length( ) 字符串长度
contains( ) 判断是否包含
startsWith(a,1) 判断第1个是不是以a开头
字符串的比较:
equalsIgnoreCase()方法 忽略大小写比较
toLowerCase()方法 转小写比较
toUpperCase()方法 转大写比较
public class TestString {
public static void main(String[] args) {
String a="abc";
String b=new String("abc");
System.out.println(a==b);
String.valueOf(12);
System.out.println(a.equals(b));
String str=" 你好,我是一名java学员, ";
String[] rst=str.split(",");
System.out.println(Arrays.toString(rst));
System.out.println(str.substring(4)); //截取,左闭右开
System.out.println(str.trim());//去两头空格
System.out.println(str.contains("你好"));//判断包含
System.out.println(str.startsWith("a", 11));
// str.charAt()//通过索引找字符
}
}
例:
实现会员注册,要求
用户名长度不小于3
密码长度不小于6
注册时两次输入密码
必须相同
public class Regist {
public boolean jd(String name,String psw1,String psw2){
if (name.length()<3&&psw1.length()<6){
System.out.println("用户名长度不能小于3,密码长度不能小于6");
}else if (!psw1.equals(psw2)){
System.out.println("输入不匹配");
}else{
System.out.println("注册成功!请牢记用户名和密码");
return true;
}
return false;
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
Regist re=new Regist();
String name,psw1,psw2;
System.out.println("***欢迎进入注册系统***");
do {
System.out.print("请输入用户名:");
name = in.next();
System.out.print("请输入密码:");
psw1 = in.next();
System.out.print("请再次输入密码:");
psw2=in.next();
}while(!re.jd(name,psw1,psw2));
}
输入一段话,搜索要查找的字符,判断出现次数
public class charTimes {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.print("请输入一个字符串:");
String s=in.next();
System.out.print("请输入要查找的字符:");
char a=in.next().charAt(0);
char[] chars=s.toCharArray();
int count=0;
for (char o : chars) {
if (o==a){
count++;
}
}
System.out.println(count);
}
}