// 输出输入字符串中含有该字符的个数。(不区分大小写字母)
// ABCabc
// A
// 2
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        // 1.输入字符串:用什么接收
        // 2.输入一个字符
        InputStreamReader in = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(in);
                                    // 注意:统一转大写/小写
        char[] char1 = br.readLine().toLowerCase().toCharArray();
        char[] char2 = br.readLine().toLowerCase().toCharArray();
//         次数
        int count = 0;
        // 3.统计字符出现的次数
        for(int i = 0;i < char1.length;i++){
            if((char1[i] == char2[0])){
                count++;
            }
        }
        // 4.输出次数
        System.out.println(count);
    }
}


虽然写IO方面的程序不多,但BufferedReader/BufferedInputStream倒是用过好几次的,原因是:

(1)它有一个很特别的方法:readLine(),使用起来特别方便,每次读回来的都是一行,
省了很多手动拼接buffer的琐碎;

(2)它比较高效,相对于一个字符/字节地读取、转换、返回来说,它有一个缓冲区,
读满缓冲区才返回;
一般情况下,都建议使用它们把其它Reader/InputStream包起来,使得读取数据更高效。

(3)对于文件来说,经常遇到一行一行的,特别相符情景。