美文网首页
java API(三)

java API(三)

作者: java部落 | 来源:发表于2017-11-12 14:52 被阅读0次

    字符串的切割:String[] str.split()切割字符串 返回字符串数组。

     1 package test02;
     2 
     3 public class String_Test {
     4     public static  void  main(String ...args){
     5         In_Str s=new In_Str();
     6         s.Pri();
     7     }
     8 }
     9 
    10 class In_Str{
    11     String str=new String("cHi ckck \n");
    12     public void  Pri(){
    13         String[] new_str=str.split("i");
    14         for(String i:new_str){
    15             System.out.print(i+'\n');
    16         }
    17     }
    18 }
    

    练习:

    题目一:获取指定字符串中,大写字母、小写字母、数字的个数。

     1 package test02;
     2 
     3 
     4 import java.util.ArrayList;
     5 
     6 public class String_Test {
     7     public static  void  main(String ...args){
     8         In_Str s=new In_Str();
     9         s.Pri();
    10     }
    11 }
    12 
    13 class In_Str{
    14     String str=new String("cHi1T2ckc2k");
    15     char[] ch_n=str.toCharArray();
    16     private int upcount=0;
    17     private int lowcount=0;
    18     private int numcount=0;
    19     public void  Pri(){
    20         for (char i:ch_n){
    21             if('A'<i && i<'Z'){
    22                 this.upcount+=1;
    23             }
    24             if('a'<i&& i<'z'){
    25                 this.lowcount+=1;
    26             }
    27             if('1'<i && i<'9'){
    28                 this.numcount+=1;
    29             }
    30 
    31 
    32         }
    33 
    34         System.out.print(lowcount+"\n");
    35         System.out.print(upcount+"\n");
    36         System.out.print(numcount+"\n");
    37 
    38     }
    39 }  
    

    注意:+加号在字符串中是连接的作用,在字符中意思求和!!!!

    可以直接用字符来直接比较大小!!!

    &&和&区别:&&是 前一个表达式为false,则不执行右边的表达式。而&为无论左边表达式是否为false都执行右边。相同点是:只有所有表达式为正确才true。同理||和|

    题目二:将字符串中,第一个字母转换成大写,其他字母转换成小写,并打印改变后的字符串。

    1 package test02;
     2 
     3 
     4 import java.util.ArrayList;
     5 
     6 public class String_Test {
     7     public static  void  main(String ...args){
     8         In_Str s=new In_Str();
     9         s.Pri();
    10     }
    11 }
    12 
    13 class In_Str{
    14     String str=new String("cHi1T2ckc2k");
    15     char[] ch_n=str.toCharArray();
    16     public void  Pri(){
    17      String   start =str.substring(0,1);
    18      String   end=str.substring(1);
    19      String new_start=start.toUpperCase();
    20      String new_end=end.toLowerCase();
    21      String new_str=new_start+new_end;
    22      System.out.print(new_str);
    23 
    24     }
    

    题目三:查询大字符串中,出现指定小字符串的次数。如“hellojava,nihaojava,javazhenbang”中查询出现“java”的次数。

     1 package test02;
     2 
     3 
     4 import java.util.ArrayList;
     5 
     6 public class String_Test {
     7     public static  void  main(String ...args){
     8         In_Str s=new In_Str();
     9         s.Pri();
    10     }
    11 }
    12 
    13 class In_Str{
    14     String str=new String("hellojava,nihaojava,javazhenbang");
    15     int re_count=0;
    16     public void  Pri(){
    17         int st_index=0;
    18         while (st_index!= -1) {
    19             if (str.indexOf("java") != -1) {
    20                 re_count += 1;
    21                 st_index = str.indexOf("java");
    22                 str = str.substring(st_index + 1);
    23             }else {
    24                 st_index=-1;
    25             }
    26         }
    27         System.out.print(re_count);
    28 
    29     }
    30 }
    

    三:StringBuffer 字符串可变缓冲区。有append、insert、replace、reverse等方法,注意操作之后也是StringBuffer 需要用toString来获取对应字符串。

    StringBuilder类,比StringBuilder 处理速度更快,建议使用这个类。

    1 package test03;
     2 
     3 public class Str_Bu {
     4     public static void  main(String...args){
     5         S_B s_b=new S_B("winner");
     6         s_b.ch_str();
     7     }
     8 }
     9 
    10 
    11 class S_B{
    12     private String str;
    13     public  S_B(String str){
    14         this.str=str;
    15     }
    16     public void  ch_str(){
    17         StringBuffer st_bu=new StringBuffer(str);
    18         st_bu.append("ok");//尾部追加。
    19         st_bu.insert(2,"ko");//指定位置添加字符串。
    20         System.out.printf(st_bu.toString()+'\n');
    21         st_bu.delete(1,111);
    22         System.out.printf(st_bu.toString());
    23         st_bu.replace(1,3333,"ooop");
    24         System.out.printf(st_bu.toString()+"\n");
    25         st_bu.reverse();
    26         System.out.printf(st_bu.toString());
    27     }
    28 }
    

    输出:

    image

    练习:

    l 从指定位置开始,到末尾结束,截取该字符串缓冲区,返回新字符串

    1 package test03;
     2 
     3 public class Str_Bu {
     4     public static void  main(String...args){
     5         S_B s_b=new S_B("winner");
     6         s_b.ch_str();
     7     }
     8 }
     9 
    10 
    11 class S_B{
    12     private String str;
    13     public  S_B(String str){
    14         this.str=str;
    15     }
    16     public void  ch_str(){
    17         StringBuffer st_bu=new StringBuffer(str);
    18         String st_new=st_bu.substring(3);
    19         System.out.printf(st_new);
    20     }
    21 }
    

    在原有字符串缓冲区内容基础上,删除指定位置上的字符

    1 package test03;
     2 
     3 public class Str_Bu {
     4     public static void  main(String...args){
     5         S_B s_b=new S_B("winner");
     6         s_b.ch_str();
     7     }
     8 }
     9 
    10 
    11 class S_B{
    12     private String str;
    13     public  S_B(String str){
    14      this.str=str;
    15     }
    16     public void  ch_str(){
    17         StringBuffer st_bu=new StringBuffer(str);
    18         st_bu.deleteCharAt(2);
    19         System.out.printf(st_bu.toString());
    20     }
    21 }
    

    方法的链式调用:即一个方法的返回是一个对象,我们可 以基于这个对象继续调用对象,这种形式叫做方法的调用,比如:st_bu是StringBuffer对象。

    1 st_bu.deleteCharAt(2).append("ok").append("oooo");
    

    练习:int[] arr = {34,12,89,68};将一个int[]中元素转成字符串 格式 [34,12,89,68]

     1 package test03;
     2 
     3 import org.omg.Messaging.SYNC_WITH_TRANSPORT;
     4 
     5 import java.lang.reflect.Array;
     6 
     7 public class Str_Bu {
     8     public static void  main(String...args){
     9         int[] in_ar={34,12,89,68};
    10         S_B s_b=new S_B(in_ar);
    11         s_b.ch_str();
    12     }
    13 }
    14 
    15 
    16 class S_B{
    17     private int[] in;
    18     public  S_B(int[] in){
    19         this.in=in;
    20     }
    21     public void  ch_str(){
    22         StringBuffer in_bu=new StringBuffer();
    23         for(int i=0;i<this.in.length;i++){
    24             if(i==0){
    25                 in_bu.append("[");
    26                 in_bu.append(Array.get(this.in,i));
    27             }else if (i==this.in.length-1){
    28                 in_bu.append(Array.get(this.in,i));
    29                 in_bu.append("]");
    30             }else{
    31                 in_bu.append(Array.get(this.in,i));
    32             }
    33 
    34         };
    35         System.out.printf(in_bu.toString());
    36     }
    37 }
    

    学习是一种态度,坚持是质变的利器!

    欢迎加入学习交流群569772982,大家一起学习交流。

    相关文章

      网友评论

          本文标题:java API(三)

          本文链接:https://www.haomeiwen.com/subject/ogonmxtx.html