现在的位置: 首页 > 综合 > 正文

别样JAVA学习(八)String下

2018年11月02日 ⁄ 综合 ⁄ 共 3466字 ⁄ 字号 评论关闭

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);
	}
}

抱歉!评论已关闭.