• 20175120彭宇辰 《Java程序设计》第七周学习总结


    #教材内容总结

    第八章 常用实用类

    一、String类

    • String类用来处理字符序列,在java.lang包中,程序可以直接使用String类。需要注意的是Java把String类声明为final类,因此用户不能扩展String类,即String类不可以有子类。

    二、常量对象:

    • 字符串常量对象是用双引号括起的字符序列,例如:"你好"、"12.97"、"boy"等。String常量被放在常量池中。

    三、String对象:

    • 字符串常量对象是用双引号括起的字符序列,例如:"你好"、"12.97"、"boy"等。String常量被放在常量池中。
    • 可以使用String类声明对象并创建对象,例如:String s = new String("we are students");

    PS:用户无法输出String对象的引用:

    • Syste.out.println(s);输出的是对象的实体。

    四、String的两个较常用的构造方法

    • String (char a[])用一个字符数组a创建一个String对象。

    • String(char a[],int startIndex,int count) 提取字符数组a中的一部分字符创建一个String对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数。

    五、字符串的并置

    String对象可以用“+”进行并置运算,即首尾相接得到一个新的String对象。

    • 如果是两个常量进行并置运算,那么得到的仍然是常量,如果常量池没有这个常量就放入常量池。

    • 参与并置运算的String对象,只要有一个是变量,那么Java就会在动态区存放所得到的新String对象的实体和引用。

    六、String类的常用方法

    • public int length():获取一个字符串的长度

    • public boolean equals(String s):判断当前String对象的字符序列是否与参数s指定的String对象的字符序列相同

    • public boolean startsWith(String s):
      判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列

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

    • public int compareTo(String s):按字典序与参数s指定的字符序列比较大小。
      • 如果当前String对象的字符序列与s相同,该方法返回值0;如果大于s的字符序列,该方法返回正值;如果小于s的字符序列,该方法返回负值。
      • 如果没有字符不同的索引位置,则较短字符串的字典顺序在较长字符串之前。在这种情况下,compareTo 返回这两个字符串长度的差。best.compareTo(besti)=-1
      • 如果它们在一个或多个索引位置上的字符不同,假设 k 是这类索引的最小值,compareTo 返回这两个字符串在位置 k 处两个char 值的差,即值:this.charAt(k)-anotherString.charAt(k) 。best.compareTo(student)=-17
    • public boolean contains(String s):String对象调用contains方法判断当前String对象的字符序列是否包含参数s的字符序列

    • public int indexOf (String str):String对象调用方法从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是–1。

    • public int lastIndexOf(String s):从当前String对象的字符序列的0索引位置开始检索最后一次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是-1。

    • public String substring(int startpoint):字符串对象调用该方法获得一个新的String对象,新的String对象的字符序列是复制当前String对象的字符序列中的startpoint位置至最后位置上的字符所得到的字符序列。String对象调用substring(int start ,int end)方法获得一个新的String对象,新的String对象的字符序列是复制当前String对象的字符序列中的start位置至end–1位置上的字符所得到的字符序列。

    • public String trim() :得到一个新的String对象,这个新的String对象的字符序列是当前String对象的字符序列去掉前后空格后的字符序列。

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

    Java.lang包中的Integer类调用其类方法:

    • public static int parseInt(String s)可以将由“数字”字符组成的字符串。
    • public static byte parseByte(String s) throws NumberFormatException 
    • public static short parseShort(String s) throws NumberFormatException
    • public static long parseLong(String s) throws NumberFormatException
    • public static float parseFloat(String s) throws NumberFormatException
    • public static double parseDouble(String s) throws NumberFormatException 

    可以使用String 类的类方法将数值转化为String对象:

    • public static String valueOf(byte n)
    • public static String valueOf(int n)
    • public static String valueOf(long n)
    • public static String valueOf(float n)
    • public static String valueOf(double n)

    八、对象的字符串表示

    • Object类有一个public String toString()方法,一个对象通过调用该方法可以获得该对象的字符序列表示。
    • 一个对象调用toString()方法返回的String对象的字符序列的一般形式为:创建对象的类的名字@对象的引用的字符串表示

    九、字符串与字符数组

    • String 类的构造方法:
      String(char[])
      String(char[],int offset,int length):分别用字符数组中的全部字符和部分字符创建字符串对象

    • 将String对象的字符序列存放到数组中的方法:
      public void getChars(int start,int end,char c[],int offset ):将String对象的部分字符序列存放到数组中。
      public char[] toCharArray():将String对象的全部字符序列存放到数组中。

    十、字符串与字节数组

    • 构造方法
      String(byte[]):用指定的字节数组构造一个字符串对象。
      String(byte[],int offset,int length):用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。

    • 相关方法:
      public byte[] getBytes():使用平台默认的字符编码,将当前String对象的字符序列存放到字节数组,并返回数组的引用。
      public byte[] getBytes(String charsetName):使用参数指定字符编码,将当前String对象的字符序列存放到字节数组,并返回数组的引用。

    十一、正则表达式

    • 正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义字符,这些特殊字符称做正则表达式中的元字符。

    • String对象调用public boolean matches(String regex)方法可以判断当前String对象的字符序列是否和参数regex指定的正则表达式匹配。

    #代码调试过程中的问题与解决

    问题一:代码上传时,用git pull合并代码出现下面的页面,然后无法继续操作

    解决过程:我首先是用

    git merge --abort
    

      将刚刚关掉的页面回退,然后再次进入这个页面,按Ctrl+X就能解决问题了

    问题二:例8.6,第六行显示找不到符号

    解决方法:将getChar()写成getChars()

    问题三:例8.7运行结果出现问题

    未解决

    问题四:例8.8编译未成功

    未解决

    代码量

  • 相关阅读:
    js高程之作用域
    js继承的实现(原型/链、函数伪装)
    tween.js的API实践
    JavaScript高程第三版笔记(1-5章)
    flex布局使用方法简要汇总
    three.js中物体旋转实践之房门的打开与关闭
    遇见贵人的科学方法(通向财富自由学习笔记七)
    "活在未来" VS “活在当下”(通向财富自由学习笔记六)
    记CBS一次动人心魄的数据保卫战
    你的人生最重的枷锁是什么?(通向财富自由学习笔记五)
  • 原文地址:https://www.cnblogs.com/1751-pyc/p/10710164.html
Copyright © 2020-2023  润新知