java常用类Day5

String类常用方法

  • public int length():返回字符串的长度
  • public char charAt(int index):根据下标获取字符,括号中为序列数
  • public boolean contains(String str):判断当前字符串中是否包含str
public class Demo01 {
    public static void main(String[] args) {
        String name="hello";//“hello“常量存储在字符串池中
        name="更生";//并没有去改变hello的值,而是在字符串池重新开辟了一片空间“更生”,然后name从指向hello变成指向更生
        String name2="更生";//这里是共享的
        System.out.println(name==name2);//true

        //字符串的另一种创建方式
        String str=new String("java");//会指向堆里的java对象,事实上两个会合并到一个,所以用这种方式会浪费空间
        String str2 = new String("java");
        System.out.println(str==str2);//两个地址是不一样的
        System.out.println(str.equals(str2));//这时候比的是数据

        System.out.println("======================字符串方法的使用1===========================");
        //字符串方法的使用
        //length();返回字符串的长度
        //charAt(int index):返回某个位置的字符
        //contains(String str):判断是否包含某个字符串

        String content="java ";//空格也算一个字符
        System.out.println(content.length());
        System.out.println(content.charAt(0));//打印第一个字符
        System.out.println(content.charAt(content.length()-1));//打印最后一个字符
        System.out.println(content.charAt(content.length()-2));//打印倒数第二个字符
        System.out.println(content.contains("java"));
        System.out.println(content.contains("php"));
        System.out.println(content.contains("jv"));//被隔开的字符串是无法检测到的
        System.out.println(content.contains("j"+"v"));//即使这样写也是不行的
    }
}

输出结果为

5
j
 
a
true
false
false
false
  1. 空格算字符
  2. 打印倒数第几个字符时,可通过length()-a的思路实现,但要注意序列是从0开始的
  3. 被隔开的字符串是无法检测成功的,即使中间用“+”分隔也不行
  • public char[ ] toCharArray():将字符串转换为数组
  • public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1
  • public int lastIndexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引
import java.lang.reflect.Array;
import java.util.Arrays;

public class Demo01 {
    public static void main(String[] args) {
        String name="hello";//“hello“常量存储在字符串池中
        name="更生";//并没有去改变hello的值,而是在字符串池重新开辟了一片空间“更生”,然后name从指向hello变成指向更生
        String name2="更生";//这里是共享的
        System.out.println(name==name2);//true

        //字符串的另一种创建方式
        String str=new String("java");//会指向堆里的java对象,事实上两个会合并到一个,所以用这种方式会浪费空间
        String str2 = new String("java");
        System.out.println(str==str2);//两个地址是不一样的
        System.out.println(str.equals(str2));//这时候比的是数据

        System.out.println("======================字符串方法的使用1===========================");
        //字符串方法的使用
        //1.length();返回字符串的长度
        //2.charAt(int index):返回某个位置的字符
        //3.contains(String str):判断是否包含某个字符串

        String content="java 是世界上最好的语言,java真香";//空格也算一个字符
        System.out.println(content.length());
        System.out.println(content.charAt(0));//打印第一个字符
        System.out.println(content.charAt(content.length()-1));//打印最后一个字符
        System.out.println(content.charAt(content.length()-2));//打印倒数第二个字符
        System.out.println(content.contains("java"));
        System.out.println(content.contains("php"));
        System.out.println(content.contains("jv"));//被隔开的字符串是无法检测到的
        System.out.println(content.contains("j"+"v"));//即使这样写也是不行的

        System.out.println("======================字符串方法的使用2===========================");
        //字符串的方法使用
        //4.toCharArray();返回字符串对应的数组
        //5.indexOf();返回子字符串首次出现的位置
        //6.lastIndexOf();返回字符串最后一次出现的位置
        System.out.println(content);
        System.out.println(content.toCharArray());//Q:输出为什么和上面是一样的
        System.out.println(Arrays.toString(content.toCharArray()));//打印出来的是数组本身
        System.out.println(content.indexOf("java"));//只会找第一个出现的
        System.out.println(content.indexOf("java",4));//从第四个字符开始找java,输出是15,因为是从0开始计的
        System.out.println(content.lastIndexOf("java"));//找的是最后一个,但还是从0开始计来打印出他的序数
    }
}

在打印时序数始终是从0开始计数的

上一篇:焱飞科技实习日志 Day5


下一篇:《软件工程之美》day5