8、字符串练习3
练习三:获取一个字符串在另一个字符串中出现的次数。
class StringTest{
public static void main(String[] args){
String str="abkkcdkkefkkskk";
sop("count="+getSubCount(str,"kk"));
}
public static int getSubCount(String str,String key){
int count=0;
int index=0;
while((index=str.indexOf(key))!=-1){
sop("str="+str);
str=str.substring(index+key.length());
count++;
}
return count;
}
public static void sop(Object obj){
System.out.println(obj);
}
}
9、字符串练习4
练习四:获取两个字符串中最大相同子串,
并将短的那个串进行长度依次递减的子串打印
public static String getMaxSubString(String s1,String s2){
String max="",min="";
max=(s1.length()>s2.length())?s1:s2;
min=(max==s1)?s2:s1;
for(int x=0;x<min.length();x++){
for(int y=0,z=min.length()-x;z!=min.length()+1;y++,z++){
String temp=min.substring(y,z);
//sop(temp);
if(max.contains(temp))
return temp;
}
}
return "";
}
10、StringBuffer(常见功能-添加
StringBuffer是字符串缓冲区。
是一个容器。
特点:
1,长度是可以变化的。
2,可以字节操作多个数据类型。
3,最终会通过toString方法变成字符创。
C create U update R read D delete
1,存储。
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据):可以将数据插入到指定index位置。
class StringBufferDemo
{
public static void main(String[] args)
{
method_add();
}
public static void method_add()//存储
{
StringBuffer sb=new StringBuffer();
StringBuffer sb1=sb.append(34);
sb.append(true).append("abc");
sb.insert(1,"qq");
sop(sb.toString());
sop(sb1.toString());
}
public static void sop(String str)
{
System.out.println(str);
}
}
11、StringBuffer(常见功能-删除和修改)
2,删除。
StringBuffer delete(start,end):删除缓冲区数据,包含start,不包含end。
StringBuffer deleteCharAt(index):删除指定位置的字符。
3,获取。
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4,修改。
StringBuffer replace(start,end,string)
void setCharAt(int index,char ch);
5,反转
StringBuffer reverse()
6,查阅API
将缓冲区指定数据存储到指定字符数组中指定位置。
void getChars(int srcBegin,int srcEnd, char[] dst,int dstBegin)
class StringBufferDemo
{
public static void main(String[] args)
{
//method_update();
StringBuilder sb=new StringBuilder("abcdef") ;
char[] chs=new char[6];
sb.getChars(1,4,chs,1);
for(int x=0; x<chs.length; x++)
{
sop("chs["+x+"]="+chs[x]);
}
}
public static void method_del()//删除
{
StringBuffer sb=new StringBuffer("abcde");
//sb.delete(1,3);
//sb.delete(0,sb.length()); //清空缓冲区。
sb.deleteCharAt(2); //sb.delete(2,3);//删除第三个字母
sop(sb.toString());
}
public static void method_read()
{
}
public static void method_update()//修改
{
StringBuffer sb=new StringBuffer("abcde");
sb.replace(1,4,"java");
sb.setCharAt(2,'k');
sop(sb.toString());
}
public static void sop(String str)
{
System.out.println(str);
}
}
12、StringBuilder
13、基本数据类型对象包转类
基本数据类型对象包装类。
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
基本数据类型对象包装类的最常见作用。
就是用于基本数据类型和字符串类型之间做转换
基本数据类型转成字符串。
基本数据类型+""
基本数据类型.toString(基本数据类型值);
如:Integer.toString(34);
字符串转成基本数据类型
xxx a=Xxx.parseXxx(String);
int a=Integer.parseInt("123");
double b=Double.parseDouble("12.23");
boolean b=Boolean.parseBoolean("true");
class IntegerDemo
{
public static void main(String[] args)
{
//sop("int max:"+Integer.MAX_VALUE);
/* //将一个字符串转成整数,必须传入数字格式的字符串
int num=Integer.parseInt("123");
long x=Long.parseLong("123");
sop("num="+(num+4));
*/
/*//十进制转换其它进制
sop(Integer.toBinaryString(-6));
sop(Integer.toHexString(60));
*/
//其它进制转换十进制
int x=Integer.parseInt("110",2);
sop("x="+x);
}
public static void sop(String str)
{
System.out.println(str);
}
}
14、基本数据类型对象包转类新特性
class IntegerDemo1
{
public static void main(String[] args)
{
//Integer x=new Integer("123");
//Integer y=new Integer(123);
//sop("x==y"+(x=y));
//sop("x.equals(y):"+x.equals(y));
int x=0;
x=x+1;
sop("x="+x);
}
public static void sop(String str)
{
System.out.println(str);
}
}