zoukankan      html  css  js  c++  java
  • String、StringBuffer 的使用 ,两个面试问题

    1》统计不同类型字符个数
    public static void main(String[] args) { //案例:统计不同类型字符个数 String password = "abZZc23&%Asd^4"; //密码:大写,小写,数字,特殊字符 //1.声明变量 int big = 0;//大写 int small = 0;//小写 int num = 0;//数字 int other = 0;//特殊字符 //2.遍历字符串的字符 for(int i=0; i < password.length();i++){ //取字符 char ch = password.charAt(i); System.out.println(ch); //判断字符是否为大写 if(ch >= 'A' && ch <='Z'){ big ++; }else if(ch >= 'a' && ch <= 'z'){//判断是否为小写 small ++; }else if(ch >= '0' && ch <= '9'){//判断是否为数字 //'0' 对应码表的数字是48 //'9' 对应码表的数字是57 num ++; }else{//特殊字符 other ++; } } System.out.println("大写字母出现的次数:" + big); System.out.println("小写字母出现的次数:" + small); System.out.println("数字出现的次数:" + num); System.out.println("特殊字符出现的次数:" + other); }

      

    2》String类转换功能


    byte[] getBytes():把字符串转换为字节数组
    char[] toCharArray():把字符串转换为字符数组
    static String valueOf(char[] chs):把字符数组转成字符串
    static String valueOf(int i):把int类型的数据转成字符串
    注意:String类的valueOf方法可以把任意类型的数据转成字符串
    String toLowerCase():把字符串转成小写
    String toUpperCase():把字符串转成大写
    String concat(String str):把字符串拼接,且只能拼接字符串。+方式拼接字符串时,可以是任意类型

    3》 案例 将一个字符串的首字母 变成大写,其余的字母小写

    /*
     * 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
     * 举例:
     * 		helloWORLD
     * 结果:
     * 		Helloworld
     * 
     * 分析:
     * 		A:先获取第一个字符
     * 		B:获取除了第一个字符以外的字符
     * 		C:把A转成大写
     * 		D:把B转成小写
     * 		E:C拼接D
     */
    public class StringTest {
    	
    	public static void main(String[] args) {
    		// 定义一个字符串
    		String s = "helloWORLD";
     
    		// 先获取第一个字符
    		String s1 = s.substring(0, 1);
    		// 获取除了第一个字符以外的字符
    		String s2 = s.substring(1);
    		// 把A转成大写
    		String s3 = s1.toUpperCase();
    		// 把B转成小写
    		String s4 = s2.toLowerCase();
    		// C拼接D
    		String s5 = s3.concat(s4);
    		System.out.println(s5);
     
    		// 优化后的代码
    		// 链式编程
    		String result = s.substring(0, 1).toUpperCase().concat(s.substring(1).toLowerCase());
    		System.out.println(result);
    		
    	}
    }
    

     

    4》案例:把int[] arr = {1,2,3} 转成字符串 [1,2,3]

      思路:字符串拼接  首先 新建一个字符串 然后加上  '['  ,循环便利这个数组,然后拼接 字符串,最后判断是否是最后一个,加上 ‘]’

    5》String类的其它功能
    public String replace(char oldChar, char newChar)//替换字符
    public String replace(CharSequence target, CharSequence replacement) //替换字符串
    String trim();//去除前后空格
    public int compareTo(String anotherString) //比较
    public int compareToIgnoreCase(String str) //比较

    例子:
    String s1= "abc";
    String s2 = "aac"
    s1.compareTo(s2):结果+1

    6》案例:字符串的反转
    String str = "abc";
    for(int i = str.length() - 1;i >= 0 ;i--){
    System.out.print(str.charAt(i));
    }


    7》案例:统计大串中小串出现的次数
    String str = "helgyfnnnngyfooogyf88";
    String name = "gyf";

    思路:使用死循环,将匹配道德字符串位置加上匹配子串的长度 ,截取,使用统计变量  统计出现次数

    8》StringBuffer的构造方法
        >StringBuffer 字符串缓冲区类
        >StringBuffer里面的字符序列【char[]】是可以改变的
        >String的字符序列是不可以改变

    9》StringBuffere的添加方法
        >append方法
        >insert方法

    10》StringBuffer的删除方法
        >deleteCharAt(int index) 删除指定索引的字符
        >delete(int start,int end): 删除开始到结束位置的字符

    11》StringBuffer的反转功能
        >reverse()方法,将字符串反转

    12》StringBuffer的截取功能
        >public String substring(int start): 从指定位置截取到末尾

        >public String substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置

    13》StringBuffer与String的相互转换
        String –> StringBuffer
            通过构造方法
            通过append()方法
        StringBuffer -> String
        通过构造方法
        通过toString()方法
        通过subString(star,end);

    14》数组转成字符串,使用StringBuffer实现
        int[] arr = {1,2,3} -> [1,2,3]

        思路:循环便利这个数组,然后使用StringBuffer 的append方法来拼接这个字符串  使用if else 判断添加的位置

    15》字符串反转,使用StringBuffere的reverse方法实现


    16》两首字符串的面试题:
        a>StringBuffer和StringBuilder的区别
        StringBuffer是jdk1.0版本的,是线程安全的,效率低,加同步锁
        StringBuilder是jdk1.5版本的,是线程不安全的,效率高,没有加锁

        b>String 和StringBuffer,StringBuilder的区别
        String是一个不可变的字符序列
        StringBuffer,StringBuilder是可变的字符序列

  • 相关阅读:
    习题训练五 题解
    习题训练四 题解
    习题训练三 题解
    习题训练二 题解
    牛客小白月赛25 解题+补题报告
    习题训练一 题解
    2020.5.10 个人rating赛 解题+补题报告
    2020.4.19 个人rating赛 解题+补题报告
    2020.4.11 组队rating赛 解题+补题报告
    How to Unlock Nissan Micra Smart Key by VVDI Key Tool Plus?
  • 原文地址:https://www.cnblogs.com/kangxinxin/p/9685931.html
Copyright © 2011-2022 走看看