`
jamie.wang
  • 浏览: 347694 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java how to program(Third Edition)——我的java手记(五)

 
阅读更多

第十章 字符串

1String类提供了9个构造函数,以便使用各种方式初始化String对象。其中的7个如下:

s1=new String();//无参数构造函数;

s2=new String(s);//参数为字符串的构造函数;

s3=new String(charArray);//参数为字符数组的函数;

s4=new String(charArray,6,3);//参数为字符数组并拷贝以第二个参数为起始位置,第三个参//数为拷贝字符数目作为初始值;

s5=new String(byteArray,4,4);//参数为比特数组并拷贝以第二个参数为起始位置,第三个参数为拷贝字符数目作为初始值;

s6=new String(byteArray);//参数为比特数组;

s7=new String(buffer);//参数为StringBuffer

2charAt方法返回String中指定位置的字符。如:String1.charAt(i); getChars方法取String的某一子串。如:String1.getChars(0,5,charArray,0);第一个参数为被拷贝字符串中的起始拷贝的下标,第二个参数是被拷贝字符的数目,第三个参数为目标字符数组,第四个参数为拷贝的字符放在字符数组中的起始下标。

3.字符串的比较:equalsequalsIgnoreCase,CompareToreginMathes,其中equalsIgnoreCase将忽略大小写;CompareTo返回0时表示两个字符串相等,返回-1表示调用此方法的字符串小于比较的字符串,返回1则相反;reginMathes方法比较两个字符串对象的一部分是否相等,如:String1.regionMatches(0,s1,0,5);第一个参数是调用此方法的字符串的起始下标,第二个参数是要比较的字符串,第三个参数是要比较字符串中的起始下标,第四个参数是要比较的字符的个数。只有当指定个数的字符在按字典中发比较都相同时,才返回True

在使用“==“比较引用时,如果两个引用指向内存中的同一个对象,则结果为true;而在比较基本数据类型的指时,如果两个值相同,则结果为true

4String类的startsWithendsWith方法用于测试数组的元素是否以某些字符开始或结尾。如:string[i].startsWith(“st”); string[i].startsWith(“art”,2)判断strings中第i个字符串从下标2开始的子串是否以字符“art”开始;string[i].endsWith(“ed”)

5indexOf方法在字符串中定位字符和子串,如:String1.indexOf(‘c’)String1.indexOf(‘a’,1);

其中第二个参数是在字符串中开始查找的起始下标。

6substring方法用于从字符串中抽取子串,它有两种形式,如String1.substring(20),其中20是拷贝子串在源字符串中的起始下标;String1.substring(0,6);第一个参数指定在源字符串中需拷贝的起始下标,第二个参数指定拷贝的字符数目。

7String类的其他方法:s1.concat(s2);字符串s1连接s2,并不改变s1s2

s1.replace(‘l’,’L’);替换s1中所有的lL

s1.toUpperCase(); s1.toLowerCase();分别转换为大写小写;

s1.trim(); 删除s1开头和末尾的空白字符;

s1.valueOf(l);可以使用多种类型的参数,并将多种类型的参数转换为字符串;

8String类的intern方法可以改善字符串比较的性能,在第一次对某个String对象调用String

类的intern方法时,它将返回一个指向内存中该String对象的引用。当下次对与原String对象内容相同的不同String对象进行intern调用时,将产生对原String对象的多个引用。这样就可以进行高效的大型字符串的比较。一旦调用过intern方法,就可以用==比较String引用,而不必使用String类的equals等比较方法。

9StringBuffer类,它可以创建和操纵动态字符串,即可以修改字符串,每个StringBuffer都能够存贮由它的容量所指定的一些字符,如果超过了StringBuffer的容量,容量则会自动扩大以容纳多出来的字符。它的构造函数由3种:buf1=new StringBuffer(); buf2=new StringBuff(6);其中6为初始容量;buf3=new StringBuffer(“hello”);

10.StringBuffer类的capacity方法返回它不另外分配空间可以存储的字符数。注意:带一个字符串参数的StringBuffer构造函数创建的StringBuffer对象的初始容量为参数字符串的长度加16。如:buf=new StringBuffer(“hello,how are you?”);返回的capacity35

buf.setLength(10);方法将StringBuffer的长度设置为10,如果指定的长度比当前的字符数目少,则超过指定长度的字符都将被舍弃;如果比当前字符数目多,则添加空字符至指定长度。

buf.ensureCapacity(75);将扩充StringBuffer的容量为至少75个字符。

buf.reverse();将倒置buf中的字符;

buf.append(b);将多种类型的数据的值添加到StringBuffer的末尾;实际上编译器用它实现了用于连接字符串的“+”和“+=”运算符。

buf.insert(0,b); 方法用于将多种类型的数据插入到StringBuffer中第一个参数指定的参数之前。

buf.delete(2,6);方法将删除以第一个参数为起始下标,第二个参数为字符数目的子串。

11Character类的部分方法:

Character.isDefined(c);判断字符cUnicode字符集中是否被定义,如果是则返回true,否则返回false;

Character.isJavaIdentifierPart(c);判断字符c是否能当作Java标识符的一部分;

Charater.forDigit(digit,radix);把整数digit转换为由整数radix(基数)指定的数制系统中相应的字符。如:Charater.foDigit(13,16)则返回d

12StringTokenizer类将字符串分解成组成字符串的语言符号,它的方法coutTokens返回语句符号化的字符串中含有的语句符号的个数;hasMoreTokens方法判断是否还有语言符号;

nextToken调用字符串的形式返回下一个语言符号。

分享到:
评论

相关推荐

    Java How to Program, Early Objects, 11th Edition, Deitel.pdf

    ### Java How to Program, Early Objects, 11th Edition #### 核心知识点概览 本书《Java How to Program, Early Objects, 11th Edition》由Deitel出版社出版,是一本面向初学者和有一定编程基础的学习者介绍Java...

    Java How To Program (late objects)

    ### Java How to Program (Late Objects) - 关键知识点解析 #### 一、书籍概述 《Java How to Program》(第十版,对象延迟版本)是一本经典的计算机编程教材,旨在为初学者提供系统全面的Java语言学习指导。本书...

    Java how to program 7th edition 英文原版第七版 Deitel & Deitel (2)

    国外经典教材 Java how to program 英文原版第七版 Deitel 父子名作 总共两个压缩卷 这是第二个

    Java How to Program, Early Objects, 11th Edition

    Java How to Program, Early Objects, 11th Edition Java How to Program, Early Objects, 11th Edition Java How to Program, Early Objects, 11th Edition Java How to Program, Early Objects, 11th Edition

    Java How To Program (Fourth Edition)

    ### Java How to Program (Fourth Edition) - 关键知识点解析 #### 一、基本计算机科学概念的理解 - **计算机科学基础**: 本章节首先介绍了计算机科学的基本概念,包括计算机硬件、软件以及它们之间的交互方式。 - ...

    Java How To Program Ninth Edition

    《Java How To Program Ninth Edition》是一本专注于Java编程的详细教程,由知名作者Harvey & Paul Deitel编著,特别适合初学者至进阶者学习。该书共分为30个章节,涵盖了从基础语法、面向对象编程概念到高级主题的...

    Java How to Program(9th Edition)

    总的来说,《Java How to Program(9th Edition)》是一本全面的Java学习指南,它涵盖了从基础到进阶的所有关键主题,旨在帮助读者成为一名熟练的Java程序员。通过阅读这本书,你不仅能学到扎实的编程技能,还能了解...

    Java How to Program, 7th Edition-Prentice Hall

    《Java如何编程,第7版-Prentice Hall》由Harvey M. Deitel和Paul J. Deitel联合撰写,是Java编程领域的一本经典教材,涵盖了Java语言的基础知识和一些进阶话题。该书不仅适合初学者,也适合作为有经验的程序员的...

    Java how to program 7th edition 英文原版第七版 Deitel & Deitel (1)

    国外经典教材 Java how to program 英文原版第七版 Deitel 父子名作 总共两个压缩卷 这是第一个

    Java How to Program, Early Objects, 10th Edition, Deitel 2015.pdf

    ### Java How to Program, Early Objects, 10th Edition (Deitel 2015) 知识点解析 #### 一、书籍介绍与特点 《Java How to Program, Early Objects, 10th Edition》是由Deitel出版社出版的专业Java编程教材。本书...

    Java How to Program

    ### Java How to Program #### 书籍概述 《Java How to Program》是一本深入浅出介绍Java编程语言的经典教材,由Deitel & Associates, Inc.出版。该书采用独特的“实战代码”方法,提供了大量的实际运行代码示例,...

    java how to program 9 edition

    ### Java How to Program 9th Edition - 关键知识点解析 #### 教材概述与作者介绍 《Java How to Program》第九版是一本经典的Java编程入门教材,在全球范围内被多所大学采用作为Java教学的主要参考资料。本书由...

    Java大学教程(Java How to Program)(第四版)中文版 pdf

    本书以初学者为起点,循序渐进地介绍了面向对象的Java编程语言,系统地讨论了Java的基本概念和编程技术。全书共分为18章,首先从基本的Java理论开始,讲解了Java的基本数据类型和控制结构,Java中的方法、数组和字符...

    C++ How to Program, 10th Edition

    C++ How to Program (10th Edition) By 作者: Harvey M. Deitel Paul Deitel ISBN-10 书号: 9332585733 ISBN-13 书号: 9789332585737 Edition 版本: 10th 出版日期: 2017 Format: Paperback C++ How to Program ...

    JAVA How to Program(the sixth edition)

    Introduction to Java Applications Chapter 3. Introduction to Classes and Objects Chapter 4. Control Statements: Part I Chapter 5. Control Statements: Part 2 Chapter 6. Methods: A Deeper Look Chapter ...

    Visual C# 2008 How to Program 3rd Edition答案 英文版

    Visual C# 2008 How to Program 3rd Edition答案,英文版的。

    Java How to Program, Sixth Edition

    Java How to Program, Sixth Edition

Global site tag (gtag.js) - Google Analytics