字符串

字符串两种定义方法

String str1="jshush";
String str2=new String("jhshuuu");

字符串信息获取
长度
s.length();
查找子字符串的位置
s.indexOf(int c);
s.indexOf(String str);
s.lastIndexOf(String str);
获取指定位置的字符
s.charAt(int index)
获取子字符串
s.substring(int beginIndex);
s.substring(int beginIndex,int endIndex);
字符串判断:
判断字符串的开始和结尾
s.startsWith(String prefix);
s.endsWith(String suffix);
判断字符串是否相等
“==”
比较的是引用地址
s.equals(String str);
s.equalsIgnoreCase(String str);
s.compareTo(String str);//compareTo比较的不是字符串是否相等,这里比较的 是字符串的大小,字符串的大小怎么怎么比较呢,按个字符比较相同的字符跳过, 遇到不同的字符,返回字符的差。如果两个字符串,前面几个字符相等,长度不相 等(“siki” “sikiedu”)返回两个字符串的长度差。
判断是否包含某个子字符串
s.contains(String str);
判断字符串是否为空
s.isEmpty();
空的两种状态
String s = “”;//空字符串
String s = null;//空对象
字符串转换操作
字母大小写转换
s.toLowerCase();
s.toUpperCase();
字符串分割
s.split(String str);
s.split(String str,int limit);
去除空格(前面和后面的空格,不包括中间的空格)
s.trim();

String str1="jsh.ush";
	String[] strs=str.split("\\.");
	for(String temp:strs){
	System.out.println(temp);}

字符串替换
s.replace(char oldChar,char newChar);
s.replace(String oldStr,String newStr);

字符串格式化
日期和时间的格式化

API文档查阅
JDK 1.6中文版
JDK 14英文版(官网)

练习题:
一、给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位 置.
如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户 输入

import java.util.Scanner;
public class HelloWorld{
public static void main(String[] args){
	Scanner s=new Scanner(System.in);
System.out.println("请输入字符串");
String str=s.nextLine();
System.out.println("请输入子串");
String substr=s.nextLine();
int preStrLength=0;
while(true){
int pos=str.indexOf(substr);
if(pos==-1)break;
System.out.println("查找到子串位置:"+(pos+preStrLength));
str=str.substring(pos+substr.length());
preStrLength+=(pos+substr.length());
}}
}

在这里插入图片描述
二、在一个字符串中查找一个子串,计算出来这个子串在字符串中出现的次数。

import java.util.Scanner;
public class HelloWorld{
public static void main(String[] args){
Scanner s=new Scanner(System.in);
System.out.println("请输入字符串");
String str=s.nextLine();
System.out.println("请输入子串");
String substr=s.nextLine();
int count=0;
while(true){
int pos=str.indexOf(substr);
if(pos==-1)
{break;}
else{count++;}
str=str.substring(pos+substr.length());
}
System.out.println("子串出现次数:"+count);
}
}

三、编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕

String str="jdk";
String str2=str.toUpperCase();
System.out.println(str2);
System.out.println(str2.substring(1));

四、编写程序将String类型字符串”test” 变为 “tset”。

String str="test";
str=str.replace("es","se");

五、接收用户输入的一个字符串,判断这个字符串是否对称。

String str="jxbwjhigiud";
boolean isDui=true;
for(int i=0;i<=str.length()/2;i++)
{
	if(str.charAt(i)!=str.charAt(str.length()-i-1))
	{
		isDui=false;
		break;
	}
}

六、将一个字符串进行反转。例:”abcdefg”反转成“gfedcba”.

String str="jxbwjhigiud";
String newStr="";
for(int i=str.length()-1;i>=0;i--)
{
	newStr+=str.charAt(i);
}
System.out.println(newStr);

七、随机生成4位验证码,由用户输入并验证是否输入正确,如果输入错误就生成新的验证码让用户重新输入,最多输入5次

import java.util.Scanner;
import java.util.Random;
public class HelloWorld{
public static void main(String[] args){
Random r=new Random();
int code1=r.nextInt(10);
int code2=r.nextInt(10);
int code3=r.nextInt(10);
int code4=r.nextInt(10);
String vfCode=""+code1+code2+code3+code4;
System.out.println("验证码是"+vfCode);
Scanner s=new Scanner(System.in);
for(int i=0;i<5;i++){
	System.out.println("请输入验证码:");
	String str=s.nextLine();
	if(vfCode.equals(str)){
		System.out.println("输入正确");break;
		
	}else{
		System.out.println("输入错误,您还剩下"+(5-i)+"次机会");
	}
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值