辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正。

/*
     * 按照面向对象的思想对字符串进行功能分类。
     *
     *
     * 1,获取:
     * 1.1 获取字符串中字符的个数(长度).
     *         int length();
     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
     *         char charAt(int index);
     * 1.3 根据字符获取在字符串中的第一次出现的位置.
     *         int indexOf(int ch)
     *         int indexOf(int ch,int fromIndex):从指定位置fromIndex进行ch的查找第一次出现位置
     *         int indexOf(String str);
     *         int indexOf(String str,int fromIndex);
     *         从左到右根据字符串获取在字符串中的最后一次出现的位置.
     *         int lastIndexOf(int ch)
     *         int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找最后一次一次出现位置
     *         int lastIndexOf(String str);
     *         int lastIndexOf(String str,int fromIndex);
     * 1.4 获取字符串中一部分字符串。也叫子串.
     *         String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
     *         String substring(int beginIndex);
     *         
     *
     *
     * 2,转换。
     *         2.1 将字符串变成字符串数组(字符串的切割)
     *             String[]  split(String regex):涉及到正则表达式.
     *         2.2 将字符串变成字符数组。
     *             char[] toCharArray();
     *         2.3 将字符串变成字节数组。
     *             byte[] getBytes();
     *         2.4 将字符串中的字母转成大小写。
     *             String toUpperCase():大写
     *             String toLowerCase():小写
     *        2.5  将字符串中的内容进行替换
     *            String replace(char oldch,char newch);
     *             String replace(String s1,String s2);
     *         2.6 将字符串两端的空格去除。
     *             String trim();
     *         2.7 将字符串进行连接 。
     *             String concat(string);
     *
     * 3,判断
     *         3.1 两个字符串内容是否相同啊?
     *             boolean equals(Object obj);
     *             boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
     *         3.2 字符串中是否包含指定字符串?
     *             boolean contains(string str);
     *         3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
     *             boolean startsWith(string);
     *             boolean endsWith(string);
     * 比较:
     *  Unicode 值进行比较
     *     int compareTo(String anotherString) :
     *     当前String对象与anotherString比较。
     * (1)相等关系返回0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
     *  (2) 不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,
       (3)另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
        int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。
     *

5.将java中不同类型转化为字符串类型
     *   static String valueOf(boolean b)
         static String valueOf(char c)
         static String valueOf(char[] data)
         static String valueOf(char[] data, int offset, int count)
         static String valueOf(double d)
         static String valueOf(float f)
         static String valueOf(int i)
         static String valueOf(long l)
         static String valueOf(Object obj)               
     */
  

  1. public class StringMethodDemo {
  2.  
  3. public static void main(String[] args) {
  4.  
  5. stringMethodDemo_4();
  6.  
  7. }
  1. private static void stringMethodDemo_5() {
  2. char ch = 'a';
  3. int ch1 = 97;
  4. char[] arr = {'a','b','c'};
  5. System.out.println(String.valueOf(ch));
  6. System.out.println(String.valueOf(ch1));
  7. System.out.println(String.valueOf(arr));//把字符数组转化为字符串
  8. }
  9. private static void stringMethodDemo_4() {
  10.  
  11. String s1 = new String("abcdefghijklmn");
  12. String s2 = new String("abcdefghij");
  13. String s3 = new String("abcdefghijalmn");
  14. System.out.println("abcdefghij".compareTo(s2));//相等返回0
  15. System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //返回长度差4
  16. System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); //返回'k'-'a'的差10
  17. }
  18.  
  19. /**
  20. * 3,判断
  21. * 3.1 两个字符串内容是否相同啊?
  22. * boolean equals(Object obj);
  23. * boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
  24. * 3.2 字符串中是否包含指定字符串?
  25. * boolean contains(string str);
  26. * 3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
  27. * boolean startsWith(string);
  28. * boolean endsWith(string);
  29. */
  30. private static void stringMethodDemo_3() {
  31. String s = "abcdsess";
  32. System.out.println(s.equals("ABCDSESS".toLowerCase()));//true
  33. System.out.println(s.equalsIgnoreCase("ABCDSESS"));//true
  34. System.out.println(s.contains("sess"));//字符串中是否包含指定字符串sess
  35. String str = "ArrayDemo.java";
  36. System.out.println(str.startsWith("Array"));//字符串是否以Array开头
  37. System.out.println(str.endsWith(".java"));//字符串是否以.java结尾
  38. System.out.println(str.contains("Demo"));//字符串中是否包含指定字符串Demo
  39. }
  40. /**
  41. * 2,转换。
  42. * 2.1 将字符串变成字符串数组(字符串的切割)
  43. * String[] split(String regex):涉及到正则表达式.
  44. * 2.2 将字符串变成字符数组。
  45. * char[] toCharArray();
  46. * 2.3 将字符串变成字节数组。
  47. * byte[] getBytes();
  48. * 2.4 将字符串中的字母转成大小写。
  49. * String toUpperCase():大写
  50. * String toLowerCase():小写
  51. * 2.5 将字符串中的内容进行替换
  52. * String replace(char oldch,char newch);
  53. * String replace(String s1,String s2);
  54. * 2.6 将字符串两端的空格去除。
  55. * String trim();
  56. * 2.7 将字符串进行连接 。
  57. * String concat(string);
  58. * 2.8 static String copyValueOf(char[] data) :
  59. 2.9 static String copyValueOf(char[] data, int offset, int count) :这两个方法将char数组转换成String,与其中一个构造函数类似。
  60. */
  61. private static void stringMethodDemo_2() {
  62.  
  63. String s = "张三,李四,王五";//字符串常量
  64.  
  65. String[] arr = s.split(",");//字符串以逗号切割
  66. for (int i = 0; i < arr.length; i++) {
  67. System.out.print(arr[i]+" ");//张三 李四 王五
  68. }
  69. System.out.println("\n"+"*****************");
  70.  
  71. String date = "2008/09/10";
  72. String[] dateAfterSplit= new String[3];
  73. dateAfterSplit=date.split("/"); //以“/”作为分隔符来分割date字符串,并把结果放入3个字符串中。
  74. for(int i=0;i<dateAfterSplit.length;i++)
  75. System.out.print(dateAfterSplit[i]+" ");//2008 09 10
  76. System.out.println("\n"+"*****************");
  77.  
  78. //将String转化为字符数组
  79. char[] chs = s.toCharArray();
  80. for (int i = 0; i < chs.length; i++) {
  81. System.out.print(chs[i]+" ");//张 三 , 李 四 , 王 五
  82. }
  83. System.out.println("\n"+"*****************");
  84. /***************将字符串变为字节数组*******************/
  85. s = "abc";
  86. byte[] bytes = s.getBytes();
  87. for (int i = 0; i < bytes.length; i++) {
  88. System.out.print(bytes[i]+" ");//97 98 99
  89. }
  90. System.out.println("\n"+"*****************");
  91.  
  92. //将字符串转化为大小写
  93. System.out.println("Abc".toUpperCase());//ABC
  94. System.out.println("ABc".toLowerCase());//abc
  95. System.out.println("\n"+"*****************");
  96.  
  97. //将字符号串中第一个oldChar字符替换成newChar新字符。
  98. String s1 = "java";
  99. String s2 = s1.replace('k', 'z');
  100. String s3 = s1.replace('j', 'z');
  101. System.out.println(s2);//java
  102. System.out.println(s3);//zava
  103. System.out.println(s1==s2);//true
  104. System.out.println(s1.equals(s2));//true
  105.  
  106. System.out.println("\n"+"*****************");
  107. //将字符串两端的空格去除,字符串内部的空格去除不了
  108. System.out.println("-"+" ab c ".trim()+"-");
  109. //将两个字符串进行连接
  110. System.out.println("\n"+"*****************");
  111. String st1 = new String("abc");
  112. String st2 = "def";
  113. System.out.println(st1.concat(st2));
  114. //将字符数组转化为字符串,通过调用静态方法
  115. char[] arrx= {'w','a','p','q','x'};
  116. System.out.println(String.copyValueOf(arrx));
  117. System.out.println(String.copyValueOf(arrx,0,3));//包含begin,不包含,end
  118.  
  119. }
  120. /**
  121. * 1,获取:
  122. * 1.1 获取字符串中字符的个数(长度).
  123. * int length();
  124. * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
  125. * char charAt(int index);
  126. * 1.3 根据字符获取在字符串中的第一次出现的位置,如果找不到,返回-1,下标从0开始
  127. * int indexOf(int ch)
  128. * int indexOf(int ch,int fromIndex):从指定位置fromIndex进行ch的查找第一次出现位置
  129. * int indexOf(String str);
  130. * int indexOf(String str,int fromIndex);
  131. * 1.4根据字符串获取在字符串中的最后一次出现的位置,即找最后一个匹配的值的位置
  132. * int lastIndexOf(int ch)
  133. * int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
  134. * int lastIndexOf(String str);
  135. * int lastIndexOf(String str,int fromIndex);
  136. * 1.5 获取字符串中一部分字符串。也叫子串.
  137. * String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
  138. * String substring(int beginIndex);
  139. */
  140. private static void stringMethodget_1() {
  141.  
  142. String s = "abcdaed";
  143.  
  144. System.out.println("length:"+s.length());//length:6
  145. System.out.println("获取字符串中的某个位置的某个值:"+s.charAt(5));//char:e 如果超出范围:StringIndexOutOfBoundsException
  146. System.out.println("index:"+s.indexOf('k'));//index:-1 我们可以根据-1,来判断该字符或者字符串是否存在。
  147. System.out.println("从左到有第一次出现的位置为:"+s.indexOf('c'));//从左到有第一次出现的位置为:2
  148. System.out.println("从左到有第一次出现的位置为:"+s.indexOf(97));//从左到有第一次出现的位置为:0
  149. System.out.println("从指定位置开始d出现的位置:"+s.indexOf('d',2));//从指定位置开始d出现的位置:3
  150. System.out.println("最后匹配的a的位置:"+s.lastIndexOf('a'));//从左到右
  151. System.out.println("子字符串为:"+s.substring(2,4));//包含begin,不包含end,特别注意,下标从0开始
  152. System.out.println("子字符串为:"+s.substring(1));
  153. }
  1.  
  1.  

}

 

java基础知识回顾之---java String final类普通方法的更多相关文章

  1. java基础知识回顾之java Thread类学习(八)--java.util.concurrent.locks(JDK1.5)与synchronized异同讲解

    看API文档介绍几个方法:  JDK1.5中提供了多线程的升级解决方案: 特点: 1.将同步synchronized显示的替换成Lock                    2.接口Conditio ...

  2. java基础知识回顾之java Thread类学习(四)--java多线程安全问题(锁)

    上一节售票系统中我们发现,打印出了错票,0,-1,出现了多线程安全问题.我们分析为什么会发生多线程安全问题? 看下面线程的主要代码: @Override public void run() { // ...

  3. java基础知识回顾之java集合类-Properties集合

    /** java.lang.Object   |--java.util.Dictionary<K,V>      |--java.util.Hashtable<Object,Obje ...

  4. java基础知识回顾之---java String final类 容易混淆的java String常量池内存分析

    /** *   栈(Stack) :存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放  在常量池中). 堆(heap):存 ...

  5. java基础知识回顾之---java String final类普通方法的应用之“按照字节截取字符串”

    /*需求:在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符.但对应的字节数不同,一个汉字占两个字节.定义一个方法,按照最大的字节数来取子串.如:对于“ab你好”,如果取三 ...

  6. java基础知识回顾之---java String final类普通方法的应用之“模拟字符串Trim方法”

    /* * 4,模拟一个trim功能一致的方法.去除字符串两端的空白  * 思路: * 1,定义两个变量. * 一个变量作为从头开始判断字符串空格的角标.不断++. * 一个变量作为从尾开始判断字符串空 ...

  7. java基础知识回顾之---java String final类普通方法的应用之“两个字符串中最大相同的子串”

    /* * 3,两个字符串中最大相同的子串. * "qwerabcdtyuiop" * "xcabcdvbn" *  * 思路: * 1,既然取得是最大子串,先看 ...

  8. java基础知识回顾之---java String final类普通方法的应用之“子串在整串中出现的次数”

    /* * 2 一个子串在整串中出现的次数. * "loveerlovetyloveuiloveoplove" * 思路: * 1,要找的子串是否存在,如果存在获取其出现的位置.这个 ...

  9. java基础知识回顾之---java String final类普通方法的应用之字符串数组排序

    /* * 1,给定一个字符串数组.按照字典顺序进行从小到大的排序. * {"nba","abc","cba","zz", ...

随机推荐

  1. Perl的主要应用领域

    1.Unix系统的维护功能    如我们在前面所说的,Perl可以作为传统Unix系统维护工具的替代,在这方面,它可以对文本文件,特别是对配置文件(还记不记得在配置Linux系统中的文本方式的配置)进 ...

  2. jdk、maven配置

    JDK环境变量配置1.新建系统变量 1)变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0_15 2)变量名:CLASSPATH 变量值:.;%JAVA_ ...

  3. CodeIgniter(CI 3.0)分页类实践记录

    最近在学习B/S,选择了PHP CI框架作为切入点. 在尝试制作个人CMS的时候遇到了需要分页的情况,网上好像搜不到3.0版本以上的例子,下面附上本地实验的代码,供参考. 数据库情况如下: 首先看Co ...

  4. php保存base64数据

    php保存base64数据 if(isset($param['cover_pic']) && !empty($param['cover_pic'])) {
 if (preg_matc ...

  5. linux服务器修改ssh默认22端口方法

    1.登录服务器,打开sshd_config文件 # vim /etc/ssh/sshd_config 2.找到#Port 22,默认是注释掉的,先把前面的#号去掉,再插入一行设置成你想要的端口号,注意 ...

  6. 【转】Microsoft® SQL Server® 2012 Performance Dashboard Reports

    http://www.cnblogs.com/shanyou/archive/2013/02/12/2910232.html SQL Server Performance Dashboard Repo ...

  7. mac升级yosemite后安装gd的freetype扩展

    Mac升级系统到 Yosemite 10.10,对于各位Coder来说,还是需要一些时间来折腾的! @星空之下 同学反映 PHPCMS 的验证码图片不能正常显示,反馈该验证码需要GD库支持FreeTy ...

  8. macos port总结

    http://stackoverflow.com/questions/733951/unable-to-download-the-source-code-of-open-source-projects ...

  9. php字符串函数和数组函数

    /验证码$str="abcdefghijklmnopqrstuvwxyz0123456789";$a=substr($str,rand(0,35),1);$b=substr($st ...

  10. Cocos2D-x搭建新环境注意事项

    网上资源都说安装Python后, 设置环境变量, 解压Cocos2Dx压缩包就OK, 但运行CppTest还是会报错, 以下是错误解决方案: 1. 错误提示 error LNK1123: failur ...