zoukankan      html  css  js  c++  java
  • 我的Java之路(5)

    还是先谈谈看了前几章的感受吧。

    虽然经常听老师或同学说java觉得与C++很类似,看了这几张后才真正体会到了java与C++的异同点。

    总体觉得java比C++简单的多。因为java中有很多方法已经写好了放到了其他包中,要想用到这个方法,只需要把这个包引入进来。就可以直接用,不必重写方法,(当然自己也可以重写这个方法)。而且java中没有指针这个是很多人头痛的东西(我就比较头痛指针),而且java提供了接口和面像抽象,大大简化了程序,使程序易修改、易扩展。

    下面总结下今天看的东西

    今天主要看了字符串和正则表达式

    java可以使用java.lang包中的String类创建一个字符串常量,因此字符创常量是一个类类型的变量,是一个对象。

    创建字符串变量。

    String s;

    s=new String(“we are student”);也可以一步完成:String s=new String("we are student");

    也可以使用一个已创建的字符串创建另一个字符串。如:String tom=new String(s);

    (1)String(char a[])—用一个字符数组a创建一个字符串对象。如:

    char a[]={'b','o','y'};

    String s=new String(a);

    (2)char a[]={'s','t','b','u','s','n'};

    String s=new String(a,2,3);

    也可以把字符串常量的引用赋值给一个字符串变量。

    Sting s1;

    s1="how are you"

    String类的常用方法

    (1)public int length()

    (2)public boolean equals(String s)比较当前的字符串对象的实体是否与参数指定 的字符串s的实体相同。如:

    String tom=new String("we are students");

    String boy=new String("you are students");

    tom.equals(boy)的值是false,注意大小写区分。若调用public boolean eaualsIgnoreCase(String s),比较式忽略大小写。

    (3)public boolean contains(string s)判断字符串对象是否含有参数指定的字符串S;如 tom.contains("stu")的值是true。tom.contains("ok")的值是false

    (4)public boolean startsWith(String s)判断当前字符串对象的前缀是否是参数指定的的字符串s

    和public boolean endsWith(String s)判断当前字符串对象的后缀是否是参数指定的的字符串s

    (5)public int compareTo(string s)按字典序与参数s指定的字符串比较大小。如果当前字符串与s相同,该方法返回0,当前字符串对象大于s,返回正值。小于s,返回负值。

    如String str="abcde";    str.compareTo("boy")小于0.    str.compareTo("aba")大于0;

    (6)public int indexOf(String s)字符串检索。

    (7)public String substring(int startpoint)获得一个当前字符串的字串。

    (8)public String replaceAll(String old,String new)字符串对象调用该方法获得一个字符串对象,该字符串对象是通过用参数new指定的字符串替换s中由old指定的所有字符串而得到的字符串。

    (9)public String trim()字符串通过调用方法trim()得到一个字符串对象,该字符串对象是去掉前后空格后的字符串。

    字符串与基本数据的相互转化

    java.lang包中的Integer类调用其类方法如下:

    public static int parsentInt(String s)将数字格式的字符串转化为int类型数据。

    对象的字符串表示:可以通过重写toString()方法来规定对象的字符串格式P117

    字符串与字符数组;String类提供了将字符串存放到数组中的方法.

    字符串转化文字节数组。(P118)

    StringBuffer类

    String 字符串不能修改、删除、或替换。即一个String对象一旦创建,实体是不可以在发生变化。。

    所以引进了StringBuffer类,该类能创建可修改的字符串序列,即该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符串。一个StringBuffer对象调用append()方法可以追加字符串序列。例如:

    StringBuffer s=new StringBuffer("I love you ");

    对象s调用append()再追加一个字符串序列:s.append("ok"),就变成了I love you ok

    StringBuffer类的构造方法。详见P119到P120.

    StringTokenizer类(祥见P121)

    字符串分解成可被独立使用的单词。

    默认的分隔标记有:空格(如干个空格被看成一个空格)、换行符、回车符、Tab等

    StringTokenizer(String s,String delim),参数delim中的字符的任意排列组合都是分隔符标记。

    如:StringTokenizer fenxi=new StringTokenizer("we,are;student",", ;")

    nextToken()方法可以逐个获取字符串中分析器中的语言符号。

    字符串分析器调用countTokens()方法可以得到计数变量的值。可以使用while循环来逐个获取语言符号(单词)

    使用StringTokenizer类中的hasMoreToken()方法,只要计数变量的值大于0,该方法就返回true,否则返回false

    正则表达式与模式匹配

    一个正啊则表达式是含有一些具有特殊意义字符的字符串。如“\\dok”中的\\d就是具有特殊意义的元字符,代表0~9中的任何一个。一个正则表达式也称为一个模式。详细的模式匹配参见p122,。

    正则表达式的模式分解。

    可以使用StringTokenizer类分解字符串,也可以使用正则表达式分解字符串。

    下例中分解出全部数字

    public String[] split(String regex)

    Str="腊月29,生日"

    String regex="\\D+";//把非数字的字符作为分隔标记

    String digitWord[]=str.split(regex);//按regex分隔标记分解出str中的数字29

    则digitWord[0]的内容是“29”

    本章结束,下章待续。(腰坐酸了)

  • 相关阅读:
    linux 网络相关
    工作随笔
    python
    trouble-shooting
    MySQL常见问题总结
    根据 Request 获取客户端 IP
    文件上传按钮优化
    Linux中RabbitMQ安装
    linux 完全卸载MySQL
    Linux 下安装 MySQL-5.7.24
  • 原文地址:https://www.cnblogs.com/yanmingup/p/2877334.html
Copyright © 2011-2022 走看看