Java常用实用类汇总

一、8.1.3 String类的常用方法

(1) Boolean contain(String s): 判断当前String字符是否包含参数s的字符序列。
(2) Int IndexOf(String s)和Iast IndexOf(String s)(从后开始):
  举例:

String tom – “I am a good cat”
Tom. IndexOf(“a”)    //值是2
Tom. IndexOf(“good”,2//值是7

(3) String substring(int statrpoint):
  举例:

String tom – “我喜欢篮球”;
String str =tom.substring(13//理解为:{1,3 )

  输出: 喜欢

(4) String trim(): rim:修剪)
得到当前的String对象的字符序列去掉前后空格后字符序列。

二 、8.1.4 字符串与基本数据相互转化

  (1)字符串类型 - - 转化 - - > 基本数据类型 Integer 类调用方法int parseInt(String s);
    double类调用方法Double parseDouble(String s)。

字符串类型的数字 无法 加减等运算 所以要转化为 基本数据类型
举例:

	    String s="876";
		int  x =Integer . parseInt(s);
		
		System.out.println(x);

输出: int型的876

  (2)基本数据类型 - - 转化 - - > 字符串类型 String调用valueOf( )方法
举例:

        String str = String.valueOf(8932);
		System.out.println(str);

输出: String 型的 8932

三、8.1.6字符串与字符数组、字节数组

○1字符串与字符数组
(1)getChar(): Sting对象调用getChars()方法可以将start到end-1位置上的字符复制到数组c上(必须保证数组c能容纳下)
例:

  String s ="1949年8月15日是抗战胜利日";
  char [] a = new char[4];
  s.getChars(11,15,a,0); //s里第[11,15)的内容 赋值给数组a[],从数组a[]第0个单元开始放

(2)toCharArray(): 将字符序列全部存放在一个字符数组中(不考虑是否容纳)
例:

    char [] c="十一长假期间,学校都放假".toCharArray();     //将字符的整体赋给c
    
	  for(int i=0;i<c.length;i++){
		System.out.print(c[i]);
	}

○2 字符串与字节数组
(1) getBytes() 读的是字节

例:

        byte d[ ]="java你好" . getBytes();      //一个字母一个字节  一个汉字两个字节
		System.out.println("数组d的长度是:"+d.length);  // 输出 :8
		String s =new String(d,6,2);       //输出 : 好 
         //d数组的第6个字节开始输出2个字节    

四、8.1.7正则表达式及字符串的替换与分解

(1)正则表达式: String对象调用Boolean型的matches(String regex)方法可以判断判断当前的字符串是否参数regex指定的正则表达式匹配

例:

           String regex="[a-zA-z | 0-9|_]+";
           Scanner reader = new Scanner(System.in);
 		   String str =reader.nextLine();
		     if(str.matches(regex)) {  
			   //String调用Boolean型的matches(a);判断当前的字符串是否和参数a指定的正则表达式匹配
		 System.out.println(str+"是由英文字母、数字或下划线构成");
		 
	}
		else {
			 System.out.println(str+"中有非法字符");
		}

(2) 字符串的替换 String对象调用String型的replaceAll(String regex,String x)
举例:

     String str = "鼠狗虎兔龙蛇马羊";               
     str=str.replaceAll("[狗]","牛");
     System.out.println(str);     //鼠牛虎兔龙蛇马羊

(3) 字符序列的分解: String类调用String[] split(String regex),使用参数指定的正则表达式regex作为分隔标记

例:

        String str = "1长路漫漫 2为剑作伴";
		String regex = "[0-9]+";
		String a[]=str.split(regex);
//将str分解成多个分支,给了数组,所以取出要循环方法取出(记)
		for(int b=0;b<a.length;b++) {     //注意:是“<”   不是<=
			int m=b+1;
			System.out.println("第"+m+"局:"+a[b]);
			
		}

五、8.2 S stringTokenizer类

(1)和split()方法不同的是,StringTokenizer对象不使用正则表达式作为分隔标记。
(2)通常用while循环 逐个 获取语言符号,可以使用StringTokenizer类中的Boolean型的hasMoreTokens()方法
(3)StringTokenizer fenxi调用的countTokens()方法可以计算数字
例:

            String str = "8.5#3.6#2.4";
		    StringTokenizer fenxi =new StringTokenizer(str,"#");
		    int m =fenxi.countTokens();                //   计数变量的值
		    System.out.println(m);                     //    3
	    	double sum = 0;
	    	
          while(fenxi.hasMoreTokens()) {       //hasMoreTokens()和while搭配循环来获取单词 (重)
                                                //当是单词时是true继续循环  否则false跳出循环
                                                //fenxi调用hasMoreTokens()后  单词就被拿走给了-->item
			String item = fenxi.nextToken();        
			double price =Double.parseDouble(item);  //
			sum=sum+price;
		}
		System.out.println(sum);
		
		m = fenxi.countTokens();                     //      计数变量
		System.out.println(m);                      //  (重)因为单词就被拿走了   所以计数为  0 

六、8.4 StringBuffer类

   String对象一经声明,便不能修改它的内容,修改的只是引用的地址; 而StringBuffer对象可以改变它的内容的(实体)。

StringBuffer s =new StringBuffer(“我喜欢”);
S可以调用append方法追加一个字符序列。
s.append(“玩篮球”)

七、8.9 Class类与Console类

(1)Class类:略
(2)Console类 :目的是输入密码的时候输入的内容不回显(不可见)

     char[]   passwd;
     Console cons = System.console();  
     //System。类调用console()返回Console类的一个对象。
     passwd=cons.readPassword();         
    //等待执行(等待使用者输入键盘)  输入后存放在 数组passwd 里

八、8.10 Pattern类与Matcher类

(1)一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,
它依据Pattern对象做为匹配模式对字符串展开匹配检查。首先一个Pattern实例订制了一个所用语法
与PERL的类似的正则表达式经编译后的模式,

然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。

例:想知道从哪个位置至哪个位置结束出现过字符序列“good”。

String input ="hello,good morning,this is a good idear";
String regex ="good";
Pattern p = Pattern.compile(regex); 
Matcher m = p.matcher(input);     
boolean b = m.find();
System.out.println(b);
String item = m.group(); 
System.out.println(item);

int n1 = m.start();         //起始位置
int n2 = m.end();           //终止位置
System.out.printf("%d,%d\n",n1,n2);

String str = m.replaceAll("好");       //m调用方法将str中的“good”换成“好”
System.out.println(str);



终章:完结撒花~~~

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值