#教材内容总结

第八章 常用实用类

一、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编译未成功

未解决

代码量

20175120彭宇辰 《Java程序设计》第七周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  3. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  7. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  8. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  9. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  10. 20175317 《Java程序设计》第九周学习总结

    20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...

随机推荐

  1. react 入坑之罪

    componentDidMount :生命周期在react下只调用一次, render:比它先执行 componentWillRecvieProps(newProps) :能取到父组件的值 rende ...

  2. java数组冒泡排序

    public class PaiXu1 { public static void main(String[] args) { int[] s = {345,879,456,870,221,902,14 ...

  3. 电脑小白和ta的小白电脑——Git的使用

    简单介绍Git的安装和基本指令,不要抱太大希望QAQ 看完这篇博客,最多学会如何向远程库上传和从远程库拉取项目,复杂功能要 做中学! (一)Git的安装 1.下载 (1)官网下载地址: https:/ ...

  4. python1-集合、函数-(全局变量与局部变量)

    集合 # s=set('hello')# print(s)## s=set(['alex','alex','sb'])# print(s) # s={1,2,3,4,5,6} #添加# s.add(' ...

  5. LeetCode 145 二叉树的后序遍历(非递归)

    题目: 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路: 1 ...

  6. Vue项目的打包

    vue项目的打包 更改config文件夹下的index.js里的assetsPublicPath路径    将 “/”  改为  “./” build: { env: require('./prod. ...

  7. shell练习题7

    需求如下: 输入一串随机数字,然后按千分位输出. 例如:输入随机数字为"123456789",输出为123,456,789 参考解答如下 -方法1 [root@lanquark s ...

  8. enquire.js-响应css媒体查询的轻量级javascript库

    轻量,没有依赖. 安装: npm install enquire.js API: enquire.register(mediaQuery, handler). mediaQuery: 字符串,需要响应 ...

  9. Problem C: STL——Jerry的问题

    Description 最近Jerry正在刻苦的学习STL中的set的功能函数,他发现set可以用现有的函数实现并.交.差.对称差等功能,但是他没有找到怎么来比较两个集合是否相等的功能函数,所以他想自 ...

  10. 使用restTemplate来访问https

    1.maven: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId& ...