java学习之String类

标签(空格分隔): String类


String 的概述

class StringDemo{

    public static void main(String[] args){
        String s1="abc";//s1是一个类型变量,abc是一个对象,
        //字符串最大的特点,一旦被初始化就不可以改变,
        //s1="kk";//这时候是s1的指向变了,并不是abc
        String s2=new String("abc");
        System.out.println(s1==s2);
        System.out.println(s1.equals(s2));//String 类复写了object对象的方法,用来判断字符串是否相等
        /*
        s1和s2的区别是什么?
        s1代表一个对象,
        s2有两个对象

         */

    }
}

String类适用于描述字符串事物,那么他就提供了多个方法对于字符创进行操作;

常见的操作有哪些呢?

1.获取,2,判断;

获取:

  • 1.1字符串中包含的字符串的长度,包含的字符数:int length(),获取长度;
    1.2根据位置上的获取某个字符:char charAt(int index);
    1.3根据字符获取该字符串中的位置int indexof(int ch);返回ch在字符串中第一次出现的位置;
    1.4int indexof(int ch ,int fromindex)从fromindex指定的位置的开始,获取ch在字符串中出现的位置;

例如如下查看长度:

````java
class StringMethDemo{
public static void method_get(){

    String str="abcdeakpf";
    //长度
    sop(str.length());
    //根据索引获取字符
    sop(str.charAt(4));

    //根据字符获取索引
    sop(str.indexOf('a'));
}
public static void sop(Object obj){

    System.out.println(obj);
}
public static void main(String[] args){
    method_get();

}

}
java
class StringMethDemo{
public static void method_get(){

    String str="abcdeakpf";
    //长度
    sop(str.length());
    //根据索引获取字符
    sop(str.charAt(40));//当访问到字符串中不存在的角标的时候,会发生:StringIndexOfBoundsException.

    //根据字符获取索引
    sop(str.indexOf('m',3));//如果没有找到返回-1
}
public static void sop(Object obj){

    System.out.println(obj);
}
public static void main(String[] args){
    method_get();

}

}
```

判断:

  • 1.字符串中是否包含某一个子串contains(str),
    特殊之处:indexof(str)可以索引str 第一次出现的位置,如果返回-1,表示该str不在字符串中存在,所以也可以而言用于对指定判断是否包含,if(str.indexOf("aa")!=-1),而且该方法,2.即可以判断,又可以判断出现的位置,
    3.字符串是否以指定内容开头:startsWith(str)
    4.字符串指定内容结尾endsWith(str)
    5.字符串是否为空:boolean isEmpty()是否为0.
    6.equals判断字符串是否相等,复写了object类中的equals方法。
    boolean equals(str)
    7.判断内容是否相等,并忽略大小写;
    Boolean equalsIgnoreCase();

转换:

1.将字符数组转成字符串:String(char[]),String(char[],offset,count),将字符数组中的一部分转成字符串,
2.将字符串转成数组char[] toCharArray[]
3.将字节数组转成字符串byte[] getBytes()
4.将字符串转成字节数组
特殊字符串和字节数组在转换的过程中,是可以指定编码表的;

class StringMethDemo{
    public static void method_trans(){

        char[] arr={'a','b','c','d','e','f'};
        String s=new String(arr,1,3);
        sop(s);
        String l1="abcdesd";
        char[] chs=l1.toCharArray();
        for(int x=0;x<chs.length;x++){

            sop(chs[x]);
        }
    }
    public static void method_is(){

        String str="ArryDemo.java";
        sop(str.startsWith("Arry"));
        sop(str.endsWith("java"));
        sop(str.contains("Demo"));

    }
    public static void method_get(){

        String str="abcdeakpf";
        //长度
        sop(str.length());
        //根据索引获取字符
        sop(str.charAt(4));
        //根据字符获取索引
        sop(str.indexOf('m',3));//如果没有找到返回-1
        //返回指定字符串最后一次出现的索引
        sop(str.lastIndexOf('a'));

    }
    public static void sop(Object obj){

        System.out.println(obj);
    }
    public static void main(String[] args){
        method_get();
        method_is();
        method_trans();
    }

替换:

replace(oldchar,newchar);原来的字符串是不会改变的,改变的是新的字符串;

class StringMethDemo{
    public static void method_replace(){
        String l ="hello java";
        String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变

        sop(l2);

    }
    public static void method_trans(){

        char[] arr={'a','b','c','d','e','f'};
        String s=new String(arr,1,3);
        sop(s);
        String l1="abcdesd";
        char[] chs=l1.toCharArray();
        for(int x=0;x<chs.length;x++){

            sop(chs[x]);
        }
    }
    public static void method_is(){

        String str="ArryDemo.java";
        sop(str.startsWith("Arry"));
        sop(str.endsWith("java"));
        sop(str.contains("Demo"));

    }
    public static void method_get(){

        String str="abcdeakpf";
        //长度
        sop(str.length());
        //根据索引获取字符
        sop(str.charAt(4));
        //根据字符获取索引
        sop(str.indexOf('m',3));//如果没有找到返回-1
        //返回指定字符串最后一次出现的索引
        sop(str.lastIndexOf('a'));

    }
    public static void sop(Object obj){

        System.out.println(obj);
    }
    public static void main(String[] args){
        method_get();
        method_is();
        method_trans();
        method_replace();

    }

切割:

String[] split(regex);

class StringMethDemo{
    public static void method_split(){

        String l3="zhangsan,lisi,wangsu";
        String[] arr=l3.split(",");
        for(int x=0;x<arr.length;x++){
            sop(arr[x]);
        }
    }
    public static void method_replace(){
        String l ="hello java";
        String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变

        sop(l2);

    }
    public static void method_trans(){

        char[] arr={'a','b','c','d','e','f'};
        String s=new String(arr,1,3);
        sop(s);
        String l1="abcdesd";
        char[] chs=l1.toCharArray();
        for(int x=0;x<chs.length;x++){

            sop(chs[x]);
        }
    }
    public static void method_is(){

        String str="ArryDemo.java";
        sop(str.startsWith("Arry"));
        sop(str.endsWith("java"));
        sop(str.contains("Demo"));

    }
    public static void method_get(){

        String str="abcdeakpf";
        //长度
        sop(str.length());
        //根据索引获取字符
        sop(str.charAt(4));
        //根据字符获取索引
        sop(str.indexOf('m',3));//如果没有找到返回-1
        //返回指定字符串最后一次出现的索引
        sop(str.lastIndexOf('a'));

    }
    public static void sop(Object obj){

        System.out.println(obj);
    }
    public static void main(String[] args){
        method_get();
        method_is();
        method_trans();
        method_replace();
        method_split();

    }
}

子串:

获取字符串中的一部分,substring(begin,end);

class StringMethDemo{
    public static void method_sub(){

        String l4="abcdef";
        sop(l4.substring(2));//从指定位置开始到结尾,如果交表不存在会存在字符串角标越界
        sop(l4.substring(2,4));//包含头,不包含尾
    }
    public static void method_split(){

        String l3="zhangsan,lisi,wangsu";
        String[] arr=l3.split(",");
        for(int x=0;x<arr.length;x++){
            sop(arr[x]);
        }
    }
    public static void method_replace(){
        String l ="hello java";
        String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变

        sop(l2);

    }
    public static void method_trans(){

        char[] arr={'a','b','c','d','e','f'};
        String s=new String(arr,1,3);
        sop(s);
        String l1="abcdesd";
        char[] chs=l1.toCharArray();
        for(int x=0;x<chs.length;x++){

            sop(chs[x]);
        }
    }
    public static void method_is(){

        String str="ArryDemo.java";
        sop(str.startsWith("Arry"));
        sop(str.endsWith("java"));
        sop(str.contains("Demo"));

    }
    public static void method_get(){

        String str="abcdeakpf";
        //长度
        sop(str.length());
        //根据索引获取字符
        sop(str.charAt(4));
        //根据字符获取索引
        sop(str.indexOf('m',3));//如果没有找到返回-1
        //返回指定字符串最后一次出现的索引
        sop(str.lastIndexOf('a'));

    }
    public static void sop(Object obj){

        System.out.println(obj);
    }
    public static void main(String[] args){
        method_get();
        method_is();
        method_trans();
        method_replace();
        method_split();
        method_sub();

    }

转换

1.转大写,转小写:

2.去除字符串中两端的空格去除;
3.将两个字符串进行自然顺序的比较

class StringMethDemo{
    public static void methos_7(){

        String l5="     Hello  Java  ";
        sop(l5.toLowerCase());
        sop(l5.toUpperCase());
        sop(l5.trim());
        String l6="a1c";
        String l7="aaa";
        sop(l6.compareTo(l7));

    }
    public static void method_sub(){

        String l4="abcdef";
        sop(l4.substring(2));//从指定位置开始到结尾,如果交表不存在会存在字符串角标越界
        sop(l4.substring(2,4));//包含头,不包含尾
    }
    public static void method_split(){

        String l3="zhangsan,lisi,wangsu";
        String[] arr=l3.split(",");
        for(int x=0;x<arr.length;x++){
            sop(arr[x]);
        }
    }
    public static void method_replace(){
        String l ="hello java";
        String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变

        sop(l2);

    }
    public static void method_trans(){

        char[] arr={'a','b','c','d','e','f'};
        String s=new String(arr,1,3);
        sop(s);
        String l1="abcdesd";
        char[] chs=l1.toCharArray();
        for(int x=0;x<chs.length;x++){

            sop(chs[x]);
        }
    }
    public static void method_is(){

        String str="ArryDemo.java";
        sop(str.startsWith("Arry"));
        sop(str.endsWith("java"));
        sop(str.contains("Demo"));

    }
    public static void method_get(){

        String str="abcdeakpf";
        //长度
        sop(str.length());
        //根据索引获取字符
        sop(str.charAt(4));
        //根据字符获取索引
        sop(str.indexOf('m',3));//如果没有找到返回-1
        //返回指定字符串最后一次出现的索引
        sop(str.lastIndexOf('a'));

    }
    public static void sop(Object obj){

        System.out.println(obj);
    }
    public static void main(String[] args){
        method_get();
        method_is();
        method_trans();
        method_replace();
        method_split();
        method_sub();
        methos_7();

    }

原文地址:https://www.cnblogs.com/surewing/p/11456723.html

时间: 2024-10-01 03:29:01

java学习之String类的相关文章

java学习笔记——String类

一.概述 ·字符串是一个特殊的对象 ·字符串一旦初始化就不可以被改变 ·String str = "abc"; ·String str1 = new String("abc"); 有什么区别? package com.java.study.StringDemo; public class StringDemo { public static void main(String[] args) { String s1 = "abc"; //s1是一个

Java学习笔记_25_Collections类

25.Collections类: Collections类是一个工具类,用来对集合进行操作,它主要是提供一些排序算法,包括随机排序.反相排序等. Collections类提供了一些静态方法,实现了基于List容器的一些常用算法. Collections的一些方法列表: · void sort(List): 对List内的元素进行排序. · void shuffle(List): 对List内的元素随机排序. · void reverse(List): 对List内的元素进行逆序排列. · voi

java学习一目了然&mdash;&mdash;File类文件处理

java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) File(File parent,String child) 创建文件: boolean createNewFile(); 创建文件夹: boolean mkdir(); 用于创建一层未定义文件夹 boolean mkdirs(); 用于创建多层未定义文件夹,相当于多个mkdir() 删除文件/文件夹

Java学习笔记——File类之文件管理和读写操作、下载图片

Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数 (boolean) mkdir() 创建此抽象路径名指定的目录  (boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. (boolean) delete() 删除此抽象路径名表示的文件或目录 (boolean) createNe

Java学习笔记_19_String类

19.String类: 1>String类的构造方法: · 利用字符串构造一个字符串对象: String str = "HelloWorld": · 无参构造一个字符串对象: String str = new String(); · 传递参数生成一个字符串对象: String str = new String("HelloWorld"); · 由字符数组生成一个字符串对象: String str = new String(char s[ ]); · 由字符数组

Java学习2-日期类和Collection集合

Java学习2-日期类和Collection集合 一.日期类 1.date类 1.1 构造方法 date类用来获取时间,将毫秒值转化为时间.常用构造方法有如下: public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒). public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为"历元(epoch)",即1970年1月1日00:00:00 GMT)以来的指定毫秒数. 无参构造可以获得当前的系统时间,有参

学java教程之String类

学编程吧学java教程之String类发布了,欢迎通过xuebiancheng8.com来访问 java类中的String类应该是用的最多的一个类,我们时时刻刻都离不开String类,时时刻刻都在用,面试的时候经常考,比方说问String类是不是基本数据类型.答案是否定了,String类不是基本数据类型,只不过String类和基本数据类型的用法很相似. 下面来看String类的用法. String str= “abc”;//定义了一个字符串abc String str1= new String(

java 中的String类

String a = "aaa"; 用这种方式的时候java首先在内存中寻找"aaa"字符串,如果有,就把aaa的地址给它 如果没有则创建 String a = new String("aaa"); 是不管内存中有没有"aaa" 都开辟一块新内存保存它 可以用以下方法验证下 String a = "aaa"; String b = "aaa"; String c = new String

Java学习之String对象为什么是不可变的

转自:http://www.2cto.com/kf/201401/272974.html,感谢作者的总结 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变. 区分对象和对象的引用 对于Java初学者, 对