码迷,mamicode.com
首页 > 其他好文 > 详细

6.0字符串String

时间:2016-02-29 23:00:05      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:

大纲:

技术分享

6.1创建字符串

  定义:String类即字符串类型,并不是JAVA的基本数据类型,但可以像基本数据类型一样用,用双引号括起来进行声明。在JAVA中用String类的构造类型方法来创建字符串变量。常用构造方法如下:

  1.String()

    一个String对象,可以表示一个空字符序列。

<例>:String s=new String();

2. String(char a[])

  用一个字符数组a创建String对象。

<例>:char a[]=new char{‘我‘,‘爱‘,‘你‘};

          String s=new String(a);

//等价于:String s=new String(“我爱你”);

3.String(char a[],int offset,int length)

提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。

<例>:char a[]={‘s‘,‘t‘,‘r‘,‘i‘,‘n‘,‘g‘};

         String s=String(a,1,3);

//等价于:String s={“tri”};

6.2字符串操作

  定义:对于已经声明的字符串,可以对其进行相应的操作,String类中包含很多方法。

6.2.1字符串连接

  1.多个字符串连接

  连接多个字符串时,在每两个连接的字符串之间用“+”相连,“+”就是字符串的连接符,连接后生成一个新的字符串。

<例>:String s1=new String ("hello");

         String s2=new String ("word");

        String s=s1+" "+s2;

        运行结果:hello word

 2.连接其他数据类型

 在字符串和其他数据类型连接时,同时使用"+"连接符,连接之后的返回值是字符串.

<例>:int booktime=4;

        float computer=2.5f;

        System.out.println("我每天花"+booktime+"个小时看书,用"+computer+"个小时上机操作.");

6.2.2获取字符串信息

1.获取字符串长度

str.length();方法

***str:指的是字符串对象

***返回值:int类型的字符串长度

String a="hello world";

System.out.println(a.length);//输出11.

***空格也算长度

2.获取指定字符的索引位置

str.indexOf(substr);//返回字符首次出现位置的索引

str.lastindexOf(substr);//返回字符最后出现位置的索引

str:任意字符串对象

substr:要搜索的字符

在计算机中,返回的String对象索引都是从0开始的.

3.获取指定索引位置的字符

使用String类的charAt()方法可获取指定索引处的索引下的字符,返回字符的索引,

格式:  str.charAt(int index);

      ***   str:任意字符串

      ***  index:整型值,用于指定要返回的字符的下标.

      ***  返回值:返回指定索引位置的字符.

<例>:String s="hello world";

        char s1=s.charAt(0);

        System.out.println(s1);//输出:h

6.2.3判断字符串

判断字符串主要是判断字符串是否相等,判断字符串是否以指定的字符串开始或结尾.这里讲的是判断字符串是否相等.

(1)     equals()方法

     使用equals方法对字符串进行比较时严格区分大小写的,再此条件下,如果两个字符串扔具有相同的字符和长度,则返回true,否则返回folse.

语法:str.equals(String otherstr)

***str:参与比较的一个字符串对象

***otherstr:参加比较的另一个字符串对象

***返回值:返回boolean类型.

(2)    equalslgnoreCase()方法

使用equalslgnoreCase方法对字符串进行比较时忽略区分大小写的,再此条件下,如果两个字符串扔具有相同的字符和长度,则返回true,否则返回folse.

语法:str.equalslgnoreCase(String otherstr)

***str:参与比较的一个字符串对象

***otherstr:参加比较的另一个字符串对象

***返回值:返回boolean类型.

在字符串比较中,不允许使用"==",这是严重错误.

 
package 基本数据类型;

public class String字符串 {

    public static void main(String[] args) {
        //String    不同定义方法意义不同
        String str="字符串常量";
        String str1=new String("字符串常量");//构造方法,
        String str2=new String("字符串常量");//new开辟新的内存空间
        String str3="字符串常量";
        System.out.println(str);
        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str==str1);//返回false,因为定义方式不同,意义不同
        System.out.println(str==str2);//返回false,因为定义方式不同,意义不同
        System.out.println(str1==str2);//返回false,因为定义方式不同,意义不同
        System.out.println(str==str3);//返回true,因为定义方式相同,意义相同
        
        //==运算实际比较的是内存地址是否相等,本质不是不是比较值,用new时不适用
        //解决方法    .equals
        System.out.println(str1.equals(str2));//true,这个才是表示字符串是否相等
        System.out.println(str.equals(str1));
        
        //字符串信息
        //.length()字符串长度,带括号的是方法,不带括号的是属性
        System.out.println("str字符串长度="+str.length());
        //传入参数
        char[]c=new char[]{‘我‘,‘很‘,‘好‘};
        String str4=new String(c);
        System.out.println(str4);
        //.indexOf从(前往后)查找字符串中子字符串的首个位置,返回找到后的首字的索引值  
        //有再多也返回第一个 .indexOf
        System.out.println("常字的位置="+str.indexOf("常"));
        //返回第一个字的位置
        System.out.println("常字的位置="+str.indexOf("串常量"));
        //如果字符串中查找不到,返回-1   判断包含某个字符串,<0没有,>=0包含
        System.out.println("常字的位置="+str.indexOf("xxx"));
        
        
        
        //.lastIndexOf检索从(后往前)查找位置,但是返回索引值仍是从0开始
        System.out.println(str.lastIndexOf("常"));
        
        //获取字符
        char c1=str.charAt(0);
        System.out.println(c1);
    }

}


答案:
字符串常量
字符串常量
字符串常量
false
false
false
true
true
true
str字符串长度=5
我很好
常字的位置=3
常字的位置=2
常字的位置=-1
3

 

6.0字符串String

标签:

原文地址:http://www.cnblogs.com/panyiquan/p/5228073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!