Java基础学习笔记



Java基础:


String类的基本应用:


1.char   charAt(int index)   返回指定索引出的char值
2.int    compareTo(String anotherString) 按字典顺序比较,该比较基于字符串中各个字符的 Unicode 值
3.boolean contains(CharSwquence s) 包含返回true
4.boolean endsWith(String suffix)测试是否以指定后缀结束
5.booleab equals(Object obj) 将此字符串与指定的对象比较 
equals 是比较的两个字符串的内容是否一样,"==" 它比较的是两个“引用”
6.byte[]  getBytes()  默认字符集将String编码为byte序列,并将结果存储到一个新的byte数组中
7.int hashCode()  返回此字符串的哈希码
8.int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
  int indexOf(int ch,int fromIndex)从指定索引开始搜索
  int indexOf(String str)
  int indexOf(String str,int fromIndex)
9.boolean isEmpty()  当且仅当length()为0时才返回true
10.int lastIndexOf(int ch)  返回指定字符在此字符串中最后一次出现处的索引
   int lastIndexOf(int ch,int fromIndex)
   lastIndexOf(String str)
   int lastIndexOf(String str,int fromIndex)
11.int length() 长度
12.boolean matches(String regex)是否匹配给定的正则表达式
13.String replace(char oldCgar,char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。它将此字符串中的所有 oldChar 替代为 newChar。
String replace(CharSequence target, CharSequence replacement)


14.String replaceAll(String regex, String replacement) 


15.String replaceFirst(String regex, String replacement) 


1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
  2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;
  相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串;
16.String[] split(String regex)
注意:、“.”和“|”都是转义字符,必须得加"\\",String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
前面可以截出空串,后面不会有空串abcaba "a"---->"","bc","b"


17. boolean startsWith(String prefix) 
          测试此字符串是否以指定的前缀开始。
 boolean startsWith(String prefix, int toffset) 
          测试此字符串从指定索引开始的子字符串是否以指定前缀开始。


 18.String substring(int beginIndex) 
    String substring(int beginIndex, int endIndex) 
    返回一个新的字符串,它是此字符串的一个子字符串。
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。
19.char[] toCharArray() 
   将此字符串转换为一个新的字符数组。
20.String trim() 
   返回字符串的副本,忽略前导空白和尾部空白。


21.static String valueOf(boolean b) 
          返回 boolean 参数的字符串表示形式。 "true"
static String valueOf(char c) 
          返回 char 参数的字符串表示形式。
static String valueOf(char[] data) 
          返回 char 数组参数的字符串表示形式。
static String valueOf(char[] data, int offset, int count) 
          返回 char 数组参数的特定子数组的字符串表示形式。
static String valueOf(double d) 
          返回 double 参数的字符串表示形式。
static String valueOf(float f) 
          返回 float 参数的字符串表示形式。
static String valueOf(int i) 
          返回 int 参数的字符串表示形式。
static String valueOf(long l) 
          返回 long 参数的字符串表示形式。
static String valueOf(Object obj) 
          返回 Object 参数的字符串表示形式。






Java StringBuffer 和 StringBuilder 类:


由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。




Java 流(Stream)、文件(File)和IO


读取控制台输入:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


创建目录


  public  void CreateDir() {
    String dirname = "/tmp/user/java/bin";
    File d = new File(dirname);
    // 现在创建目录
    d.mkdirs();
  }




读取目录


public void DirList(){
String dirName = "/tmp";
File fl = new File(dirname);
if(fl.isDirectory()){
System.out.println( "目录 " + dirname);
String s[] = fl.list();
for(int i = 0; i < s.length(); i++){
File f = new File(dirName + "/" + s[i]);
if(f.isDirectory()){
System.out.println(s[i] + " 是一个目录");
}else{
System.out.println(s[i] + " 是一个文件");
}
}
}else{
System.out.println(s[i] + " 是一个目录");
}


}


删除目录或者文件


public static void main(String args[]) {
      // 这里修改为自己的测试目录
    File file = new File("/tmp/java/");
    deleteFolder(file);
  }


public void deleteFolder(File file){
File[] files = file.listFiles();
if(files != null){
for(File f: files) {
                if(f.isDirectory()) {
                    deleteFolder(f);
                } else {
                    f.delete();
                }
            }
}
file.delete();
}

猜你喜欢

转载自blog.csdn.net/silence_sep/article/details/79819847