JAVA API部分笔记

来源:互联网 发布:html链接js不管用 编辑:程序博客网 时间:2024/06/04 18:00


Stirng字符串类:(java.lang.String

       字符串操作是计算机程序设计中最常见的行为。String对象为引用类型数据。

public final class String         字符串不可变

implements Serializable,Comparable<String>, CharSequence    实现了序列化、比较接口。

字符串的创建:

代码示例与内存图:

String s = new Sting(“hello”);


String s = "hello";


 

重载“+”与StringBulider

       用于String的“+”与“+=”是JAVA中仅有的两个重载过的的操作符,而JAVA不允许程序员重载任何操作符。

      示例代码

class Concatenation

{

       public static void main(String[] args)

       {

              String mango = "芒果";

              String s = "abc" + mango + 47;

              System.out.println(s);

       }

}

//输出为:abc芒果47

       其内部执行过程为:编译器创建了一个StringBuilder对象,用以构造最终的String,并为每个字符串调用一次StringBuilder的append()方法,总共三次,最后再调用StringBuiler的toString()方法生成结果,并赋值给s。

       StringBulider的其他方法:

  1.   insert(); 插入方法
  2.   repleace(); 替换方法
  3.   substring(); 截取方法
  4.   reverse(); 反转方法

       StringBuilder JAVA SE5引入,在此之前使用的是StringBufferStringBuffer是线程安全的。

 

String类的常用方法:

方法

参数,重载版本

应用

构造器

重载版本:默认,String,StringBuilder,StringBuffer,char数组,byte数组

创建String对象

length();

 

String中字符的个数

charAt()

Int索引

获得String中该索引位置上的char

getChars(),getBytes()

要复制部分的起点和终点的索引,复制的目标数组,目标数组的起始索引

复制char或byte多一个目标数组中

toCharArray()

 

生成一个char[],包含String的所有字符

equals(),equelsIgnoreCase()

与之进行比较的String

比较两个String的内容是否相同

compareTo()

与之进行比较的String

按词典顺序比较String的内容,比较结果为负数、零或正数。注意,大小写不等价。比较基于字符串中各个字符的 Unicode 值

contains()

要搜索的charSequence

如果该String对象包含参数的内容,比较结果为负数、零或正数。注意,大小写不等价

contentEquals

与之进行比较的CharSequence或StringBuffer

如果该String与参数的内容完全一致,则返回true。

equalsIgnoreCase()

与之进行比较的String

忽略大写小,如果两个String的内容相同,则返回true

regionMatcher()

该String的索引偏移量,另一个String鸡期索引偏移量,要比较的长宽。常在版本增加了“忽略大小写”功能。

返回boolean结果,以表明所在比较区域是否相等

statsWith()

可能的起始String。重载版本在参数中增加了偏移量。

返回boolean结果,以表明该String是否一次参数起始。

endsWith()

该String可能的后缀String

返回boolean结果,以表明该String是否一次参数结束。

indexOf(),lastIndexOf()

重载版本:char,char与起始索引,String,String与起始索引

如果该String并不包含此参数,就返回-1;否则返回此参数在String中的起始索引。lastIndexIf()是从后向前搜索。

substring()(subSequence())

重载版本:起始索引;起始索引+终点坐标

返回一个新的String,以包含参数指定的子字符串。

concat()

要连接的字符串

返回一个新的String对象,内容为原始String连接上参数String。

replace()

要替换掉的字符,用来进行替换的新字符。也可以用一个CharSequence来替换另一个CharSequence

返回替换字符后的新String对象。如果没有替换发生,则返回原始的String对象。

toLowerCase() toUpperCase()

 

将字符的大小写改变后,返回一个新String对象,如果没有改变发生,则返回原始的String对象。

trim()

 

将String两端的空白字符删除后,返回一个新的String对象。如果没有改变发生,则返回原始对象。

valueOf()

重载版本:Object;char[];char[] 偏移量 字符个数;boolean ; char ;int;long;float;double

返回一个表示参数内容的String

intern()

 

为每个唯一的字符序列生成一个且仅生成一个String引用。

从这个表中可以看出,当需要改变字符串的内容时,String类的方法都会返回一个新的String对象。同时,如果内容没有发生改变,String的方法只是返回只想原对象的引用而已。

 

格式化输出:

System.out.format

       C语言的格式化输出为:printf();

       例如:printf(“Row 1:[%d %f]\n”,x,y);

              这行代码在执行的时候,首先将x的值插入到 %d 的位置,然后将y 的值插入到 %f 的位置。这些占位符称作格式修饰符,他们不但说明了插入数据的的位置,同时还说明了将插入什么什么类型的变量,以及如何对其格式化。

       JAVA中System.out.format();

       JDK5引入format方法,用于PrintStream或PrintWrite对象。

例如:

class SimpleFormat

{

       public static void main(String[] args)

       {

              int i = 5;

              double j = 5.32542;

              //格式化输出

              System.out.format("Row 1: [%d,%f]",i,j);

              System.out.printf("Row 1: [%d,%f]",i,j);

              System.out.println("Hello World!");

       }

}

可以看到,format()printf()是等价的。

 

Formatter类

       所有新的格式化功能都由 java.util.Formatter 类处理。可以将Formatter看做一个翻译器,它将你的格式化字符串与数据翻译成需要的的结果。当你创建一个Formatter对象的时候,需要向其构造器传递一些信心,告诉它最终的结果将向哪里输出。

类型转换字符

d  整数型(十进制)

e   浮点数(科学计数)

c  Unicode字符

x   整数(十六进制)

b  Boolean值

h   散列码(十六进制)

s  String值

%  字符%

f  浮点数(十进制)

 

String.format:

       JAVASE5也参考了C中的sprintf()方法,以生成格式化的String对象。

       String.format()是一个static方法,他接受与Formatter.format()方法一样的参数,但返回一个String对象。

 

基本数据类型包装类 

数据类型

包装类

byte

Byte

short

Short

int

Integer

long

Long

boolean

Boolean

char

Character

float

Float

double

Double

常用方法:

l  基本数据类型转成字符串:类.toString();   例如:Integer.toString();

l  字符串转成基本类型数据: 例如:Integer.parseInt(); 或 Integer.valueOf();

自动装箱拆箱机制:

       代码示例:

class Auto

{

       public static void main(String[] args)

       {

              Integer i = 4;  //自动装箱操作

              int j = new Integer(5);  //自动拆箱操作

              Integer in = new Integer(2);  //自动拆箱操作相当于调用in.intValue();

              System.out.println(i+" "+j);

       }

}

 

 

原创粉丝点击