• 6.0字符串String


    大纲:

    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
  • 相关阅读:
    Poj 1742 Coins(多重背包)
    Poj 2350 Above Average(精度控制)
    求二进制数中1的个数
    Poj 1659 Distance on Chessboard(国际象棋的走子规则)
    Poj 2411 Mondriaan's Dream(压缩矩阵DP)
    Poj 2136 Vertical Histogram(打印垂直直方图)
    Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)
    poj 2390 Bank Interest(计算本利和)
    Poj 2533 Longest Ordered Subsequence(LIS)
    Poj 1887 Testing the CATCHER(LIS)
  • 原文地址:https://www.cnblogs.com/panyiquan/p/5228073.html
Copyright © 2020-2023  润新知