您的位置:首页 > 职场人生

黑马程序员_基础学习笔记(9)

2012-03-19 01:42 190 查看
---------------------- android培训java培训、期待与您交流! ---------------------- -



String类

字符串是一个特殊的对象。

字符串一旦初始化就不可以被改变。而StringBuffer中的字符串可以被改变

String str=”abc”; 与 String str1=new String(“abc”); 的区别

s1是一个类类型变量,"abc"是一个对象

字符串最大特点:一旦被初始化就不可以被改变。

s1在内存中有一个对象,s2在内存中有两个对象。

object 中的equals方法是比较两个对象的内存地址值

而String类复写了object类中的equals方法,该方法用于判断字符串是否相同。

string类是用于描述字符串的食物,那么它就提供了多个方法对字符串进行操作。

常见的操作方法:

一,获取

1.字符串中包含的字符数,也就是字符串的长度:int length()获取长度。注意数组的length是属性所以没有"()".

2.根据位置获取位置上某个字符:char charAt(int index).

3根据字符获取该字符在字符串中的位置:

int indexOf(int ch)返回的是ch在字符串中第一次出现的位置。ch表示ASCII码。

intindexOf(int ch,int fromIndex) 从fromIndex指定的位置开始,获取ch在字符串中出现的位置

int indexOf(String str)返回的是str在字符串中第一次出现的位置。

int indexOf(String str,int fromIndex) 从fromIndex指定的位置开始,获取str在字符串中出现的位置

int lastIndexOf(int ch) 反向索引一个字符出现的位置 和indexOf用法一样
lastIndexOf(int ch,int fromIndex) …….. 都是从后往前查找,但是显示角标 还是从前往后算的即角标不变。

二,判断

1.字符串中是否包含某一个子串 boolean contains(str)

特殊之处(方法二):indexOf(str)可以索引str第一次出现的位置,如果

返回-1,表示该str不在字符串中,所以也可以用于对指定字符串的判断是否包含。

例:if (str.indexOf("aa")!=-1) 表示是否包含aa。

而且该方法即可以判断,又可以获取出现的位置

2.字符串中是否有内容

boolean isEmpty() 原理就是判断长度length()是否为零。

3.字符串是否是以指定内容开头

boolean startsWith(str)

4.字符串是以什么内容结尾

boolean endsWith(str)

5.判断字符串的内容是否相同

boolean equals(str)

6.判断内容是否相同,并忽略大小写

boolean equalsIgnoreCase()

转换

1.将字符数组转成字符串

构造函数:String(char[])

String (char[],offset,count) 将字符数组中的一部分转成字符串

静态方法:

staticString copyValueOf(char[]);

static String copyValueOf(char[] date,intoffset,int count);

static String valueOf(char[])

2.将字符串转成字符数组

char[] 变量变量=对象。toCharArray(); char[] chs=s2.toCharArray();


3.将字节数组转成字符串

String(byte[])

String (byte[],offset,count) 将字节数组中的一部分转成字符串

4.将字符串转成字节数组

byte[] getBytes();

5.将基本数据类型转成字符串

static String valueOf(int)

staticString valueOf(double)

替换

Stringreplace(oldchar,newchar);

切割

String[]引用变量=对象。split(regex);

子串:获取字符串中的一部分

Stringsubstring(begin) 从指定位置开始到结束

Stringsubstring(begin,end) 包含头,不包含位

转换 去除空格 比较

1 将字符串转成大写或者小写

String toUpperCase();

String toLowerCase();

2 将字符串两端的空格去除

String trim();

3 对两个字符串进行自然顺序的比较

int compareTo(string); s1.compareTo(s2);

比的是ascII码的大小 负数表示s1小于s2 0表示相等 正数表示s1大于s2

返回的数字式两个比较的字符的ascII值的差,只要比较出来不同后面的字符就不用比较了

StringBuffer

字符串的组成原理就是通过该类实现的

StringBuffer可以对字符串内容进行增删,它是一个容器

很多方法与String相同。而且StringBuffer是可以改变长度的。

容器特点: 长度是可变化的

可以直接操作多个数据类型

最终会用 对象.toString() 方法变 成字符串

C create U update R read D delete

1 存储

StringBuffer append(); 将制定数据作为参数添加到已有数据的结尾处

StringBufferinsert (index,数据) 可以将数据插入到指定的index位置

2 删除

StringBufferdelete(start,end)删除缓冲区的数据,包含start。不包含end

StringBufferdeleteCharAt(index) 删除指定位置的字符

3 获取

charcharAt(int index)

intindexOf(String str)

intlastIndexOf(String str)

intlength()

StringsubString (int start,int end)

4 修改

StringBufferreplace (start,end,str)

voidsetCharAt(int index,char ch)

5 翻转

StringBufferreverse();

将字符串翻转过来

jdk1.5版本之后出现了StringBuilder 和StringBuffer中的方法都一样

1.6(6.0)出来的StringBuffer 是现成同步的

StringBuilder是现成不同步的 不涉及线程安全时推荐使用

StringBuffer安全但需要系统资源比较多 多线程设计同步问题建议使用

jdk升级三个因素 提高效率 简化书写 提高安全性

基本数据类型对象包装类

基本数据类型 引用数据类型(类)

byte Byte

short Short

int Integer

long Long

boolean Boolean

float Float

char Character

基本数据类型对象包装类的最常见作用

就是用于基本数据类型和字符串类型之间做转换

基本数据类型转成字符串

基本数据类型+"";

基本数据类型.toString(基本数据类型值)

如:Integer.toString(34);//将34整数转变成"34"字符串

字符串转成基本数据类型

静态调用方式 xxxa=Xxx.parseXxx(String);

如:long x=Long.parseLong("123"); 必须传数字格式的字符串

doubleb=Doble.parseDoble("898");

booleanb=Boolean.parseBoolean("true");

inti=new Integer("123"); 对象调用方式

intnum=i.intValue(); 这个是对象调用 是非静态的方法 而parse是静态调用方式

十进制转成其他进制

toBinaryString(); 2

toHexString(); 16

toOctalString(); 8

其他进制转成十进制

parseInt(String,radix); int n=parseInt(“1111111”,2);

点击打开链接 点击打开链接 [url=>点击打开链接 点击打开链接 <a href="target=" _xhe_href="target=" blank"="">java培训、期待与您交流!">点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐