黑马程序员----------------String类型

时间:2023-02-18 00:29:40

  -----------android培训java培训、java学习型技术博客、期待与您交流!-----------

String类

字符串是一个特殊的对象。字符串一旦被初始化就不可以被改变。

String str="abc";//String是一个类类型变量。“abc”是一个对象。

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

String str="abc";String str = new String("abc");这两个表达式有什么区别?

String类适用于描述字符串事物。

那么他就提供了多个方法对字符串进行操作。

常见操作有哪些:

1.获取abc”

1.获取

1.1字符串中的包含的字符数,也就是字符串的长度。

int length():获取长度。

1.2根据位置获取位置上某个字符。

char charAt(int index):

1.3根据字符获取该字符在字符串中位置。

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

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

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

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

2.判断

2.1 字符串中是否包含某一个子串

      boolean contains(str):

特殊之处:indexOf(str):可以索引str第一持出现的位置,如果返回-1,表示该str不在字符串中存在。

 所以,也可以用于对指定判断是否包含。

 if(str.indexOf("aa")!=-1)

 而且该方法既可以判断,有可以获取出现的位置。

2.2字符中的是否有内容

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

2.3 字符串是否是指定内容开头。

     boolean StartsWith(str);

2.4字符串是否是以指定内容结尾

    boolean endsWith(str);

2.5 判断字符串内容是否相同,复写object类总的equals方法

    boolean equals(str);

2.6 判断内容是否相同,并忽略大小写。

     boolean equalsIgnoreCase();

 

3.转换

3.1将字符数组转成字符串。

构造函数:String(char[])

 String(char[],offest,cont);将字符数组中的一部分转成字符串。

静态方法:

         static String copyValueOf(char[]):

         static String copyValueOf(char[] data,int offest,int count)

         static String ValueOf(char[]):

 

3.2将字符串转成字符数组。**

 

  char[] toCharArray() 

 

3.3将字节数组转成字符串。

  String(byte[])

 String(byte[],offest,cont);将字节数组中的一部转成字符串

3.4将字符串转成字节数组。

 byte[] getBytes();

3.5将基本数据类型转成字符串。

static String ValueOf(int)

static String ValueOf(double)

//3+"";//String.valueOf(3);

 

特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

 

4.替换

  String replace(oldchar,newchar);

 5.切割

 String[] split(regex);

6子串,获取字符串中的一部分。

String substring(begin,end);

7.转换,去除空格,比较

7.1 将字符串转成大写或者小写。

    String toUpperCase();

String toLowerCase();

7.2将字符串两端的多个空格去除。

String trim();

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

 int compareTo(string);

黑马程序员----------------String类型

黑马程序员----------------String类型

黑马程序员----------------String类型 

黑马程序员----------------String类型

StringBufer

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

StringBuffer可以对字符串内容进行增删。

StringBuffer是个容器。

很多方法与string相同。

StringBuffer是字符串缓冲区。

是一个容器。

特点:

1.长度是可变化的

2.可以字节操作多个数据类型。

3.最终会通过tosString方法变成字符串。

C create  U update R read D delete

1.存储

StringBuffer   append():将指定数据作为参数添加到已有数据结尾处。

StringBuffer   insert(index,数据):可以将数插入指定index位置。

2.删除

StringBuffer delete(start,end):删除韩城去中的数据,包含start,不包含end.

StringBuffer  deletecharAt(index):删除指定位置的字符。

3.获取

char CharAt(int index);

int intdexOf(String str)

int lastindexOf(String str)

int length()

String substring(int start,int end)

4.修改

StringBuffer replace(start,end,string);

void setCharAt(int index,char ch);

5.反转

 StringBuffer reverse();

6.

将缓冲区中指定数据存储到指定字符数组中。

void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)

JDK1.5版本后出现了StringBuilder.

StringBuffer 是线程同步。

StringBuilder是线程不同步。

以后开发,建议使用StringBuilder

升级三个因素:

1.提供效率

2.简化书写

3.提高安全性。

黑马程序员----------------String类型

黑马程序员----------------String类型

进步数据类型对象包装类。

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

byte                   Byte

short                  Short

int                    Interger

long                   Long

    boolean                Boolean

float                  Float

double                 Double

char                   Character

 

基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换。

基本事件类型转成字符串:

基本数据类型+""

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

如:Integer.toString(34);//34变成"34";

 

字符串转成基本数据类型。

xxx a = Xxx.parseInt(String);

int a = Integer.parseInt("123");

double b = Double.parseDouble("12.23");

boolean b = Boolean.parseBoolean("true"); =

int num = i.intValue();

 

十进制转成其他进制。

toBinaryString();

toHexString();

toOctalString();

 

其他进制转成十进制。

parseInt(String,radix);

/*

JDK1.5版本以后出现的新特性。

*/

class IntegerDemo1 

{

public static void main(String[] args)

{

//Integer x = new Integer(4);

Integer x = 4;//自动装箱。//new Integer(4);

x=x/*x.intVaule()*/+2;//x=2:x 进行自动拆箱。变成int类型,和2进行加法运算。再将和进行装箱赋给x

Integer m = 128;

Integer n =  128;

sop("m==n:"+(m==n));

Integer a = 127;

Integer b = 127;

sop("a==b"+(a==b));//结果为true.因为ab指向了同一个Integer对象。

         //因为当值在byte范围内容,对于新特性,如果该数值已经存在,则不会再开辟新的空间