分享

java学习——27.字符串

 pythonjava学习 2021-04-06

字符串是字符的有限序列。

Java中的字符串String是一个类,属于引用数据类型。

今天介绍String中的一些概念和方法。

1、字符串常量

字符串常量是由双引号括起来表示的字符序列。

如:“abc”,”!#@%ji”均为字符串常量。

其中可包含转义字符,如:hello\n”。

注意:字符串常量只能在同一行内,不能换行。

2、字符串长度

字符串长度指其中包含的字符个数。如:“welcome”长度为7.

空串长度为0

一个字母、一个汉字均为一个字符,数据类型是 char,占2字节。

字符串中首字符的序号为0.

-1表示某字符不在指定字符串中。

3、字符串变量

声明字符串变量的语法格式同基本数据类型。

String s1;//声明变量,s1为字符串类型

4、 字符串运算

(1)    赋值运算

对字符串变量可进行赋值运算。例如:

s1=”hello”;

String s2=s1;

(2)    连接运算

Java使用字符串连接运算符“+”将两个字符串首尾连接起来。如:

s=”hello ”+”cj”;//结果为”hello cj”

+=定义为字符串变量在原串基础上连接另一个字符串。如:

s+=”,xyz”;//结果为“hello cj,xyz

5、 字符串是类,不是字符数组

字符串为类,不是字符数组,因此不能用【】来取字符串中的字符,而只能用类String所定义的方法。Java中定义的字符串的方法有:

(1)    length()方法,用来取字符串的长度。

需要调用此方法时,要用.运算符。

String s=”abcdefg”;

s.length();//返回一个整数类型的数据,值为字符串的长度:7

2charAt(int i)方法:用来取第i个字符。

注意字符串的首字符的序号为0

例:String s=”abcdefg”;

char c=s.charAt(1);//c的值为’b’

注:字符用单引号括起来'’,字符串用的是双引号“”。

(3)    equals(Object ojb)方法:比较当前串与obj引用的串是否相等,返回值为boolean类型。

例:String s1=”abcdefg”s2=”abcc”;

     s1.equals(s2);//值为false.

(4)    substring(int begin)方法:用来取子串,返回从begin开始到串尾的子串。

substring(int begin,int end)方法:用来取子串,返回从begin开始到end结尾的子串。

(5)    format(String format,Object…args)方法:格式化字符串。

 例:以上方法简单举例。

public class stringlearn {

    public static void main(String args[]){

       System.out.println("Welcome");//字符串常量

       String s1;//字符串变量,声明

       s1="abc";//赋值

       System.out.println("s1="+s1);

       String s2="hello";//声明时赋值

       System.out.println("s2="+s2);

       s2+=s1;//复合赋值运算

       System.out.println("s2+=s1后,s2="+s2);

       System.out.println(s2+""+s1);

       int s1length=s1.length();//与数组不同,没有Length属性,只能调用方法

       System.out.println("Thelength of s1 is "+s1length);

       int s2length=s2.length();

       System.out.println("Thelength of s2 is "+s2length);

       boolean isequal=s1.equals(s2);

       System.out.println("s1是否等于s2: "+isequal);

       System.out.println("s1的第2个字符是:"+s1.charAt(1));//序号从0开始

       System.out.println("s2从第2个字会后是:"+s2.substring(1));

       System.out.println(String.format("s2=%s,s1=%s",s2,s1));

       int a[]=new int[10];

       for(int i=0;i<=9;i++)

           a[i]=i;

       for(int i=0;i<=9;i++)

           System.out.print(String.format("%4d",a[i]));

       System.out.println();

       float b[]=new float[10];

       for(int i=0;i<=9;i++)

           b[i]=i;

       for(int i=0;i<=9;i++)

           System.out.print(String.format("%5.2f",b[i]));

       System.out.println();

       System.out.printf("100的十六进制是:%x ",100);

    }

}

其运行结果如下:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多