首页 > 其他分享 >常用类--String

常用类--String

时间:2024-09-28 21:24:09浏览次数:9  
标签:常用 String -- System int 字符串 println out

    == 比较:
        1、比较的是两个基本数据类型的话,比较两个数值是否相等
        2、比较的是两个引用数据类型的话,比较的是两个对象的地址值是否相等

    字符串:由若干个字符构成的字符序列叫做字符串
        String类代表字符串。
        字符串不变; 它们的值在创建后不能被更改指的是字符串本身不能改
        因为String对象是不可变的,它们可以被共享。
        字符串可以被看作成一个字符数组

练习

点击查看代码
public class StringDemo3 {
    public static void main(String[] args) {
        String s1 = new String("hello");
        String s2 = new String("hello");
        System.out.println(s1==s2); // false
        System.out.println(s1.equals(s2)); // true

        String s3 = new String("hello");
        String s4 = "hello";
        System.out.println(s3==s4); // false
        System.out.println(s3.equals(s4)); // true

        String s5 = "hello";
        String s6 = "hello";
        System.out.println(s5==s6); // true
        System.out.println(s5.equals(s6)); //true

        String s1 = "hello";
        String s2 = "world";
        String s3 = "helloworld";
        System.out.println(s3==s1+s2); // false
        System.out.println(s3.equals(s1+s2)); // true


    }
}

    String类中的构造方法:

        public String()
        public String(byte[] bytes)
        public String(byte[] bytes,int offset,int length)
        public String(char[] value)
        public String(char[] value,int offset,int count)
        public String(String original)

1.public String() 创建一个空字符串

点击查看代码
        //public String() 创建一个空字符串
        String s1 = new String(); // 堆内存
        System.out.println("s1: " + s1);

        String s2 = ""; // 常量池
        System.out.println(s1==s2);

2.public String(byte[] bytes) 将字节数组转成一个字符串

点击查看代码
        //public String(byte[] bytes) 将字节数组转成一个字符串
        byte[] bytes = {97,98,99,100,101,102};
        String s2 = new String(bytes);
        System.out.println("s2: "+s2);

3.public String(byte[] bytes,int offset,int length) 从字节数组的某个位置开始,向后截取变成字符串

点击查看代码
        //public String(byte[] bytes,int index,int length) 从字节数组的某个位置开始,向后截取变成字符串
        String s3 = new String(bytes, 2, 3);
        System.out.println("s3: "+s3);

4.public String(char[] value) //将一个字符数组转成一个字符串

点击查看代码
        public String(char[] value)  //将一个字符数组转成一个字符串
        char[] chars = {'我','爱','中','华'};
        String s4 = new String(chars);
        System.out.println("s4: "+s4);

5.public String(char[] value,int index,int length) 将字符数组一部分转成字符串

点击查看代码
        //public String(char[] value,int index,int length) 将字符数组一部分转成字符串
        String s5 = new String(chars,1,2);
        System.out.println("s5: "+s5);

6.public String(String original) 将字符串封装成一个String对象在堆内存中

点击查看代码

        //public String(String original) 将字符串封装成一个String对象在堆内存中
        String s6 = new String("你好");
        System.out.println("s6: "+s6);

String类中的判断功能:

        boolean equals(Object obj)
        boolean equalsIgnoreCase(String str)
        boolean contains(String str)
        boolean startsWith(String str)
        boolean endsWith(String str)
        boolean isEmpty()

1.boolean equals(Object obj) 比较两个字符串的内容值

点击查看代码
        //boolean equals(Object obj) 比较两个字符串的内容值
        String s1 = "hello";
        String s2 = "HellO";
        System.out.println(s1.equals(s2));

2.boolean equalsIgnoreCase(String str) 忽略大小写比较字符串内容值

点击查看代码

        //boolean equalsIgnoreCase(String str) 忽略大小写比较字符串内容值
        System.out.println(s1.equalsIgnoreCase(s2));

3.boolean contains(String str) 判断大字符串中是否包含某一个小字符串

点击查看代码
     //boolean contains(String str)  判断大字符串中是否包含某一个小字符串
        String s3 = "今天的天气还可以李刚决定去洗个脚";
        System.out.println(s3.contains("李刚决"));

4.boolean startsWith(String str) 判断字符串是否以某个字符串开头

点击查看代码
        //boolean startsWith(String str) 判断字符串是否以某个字符串开头
        System.out.println(s3.startsWith("今天的天气数可以"));

5.boolean endsWith(String str) 判断字符串是否以某个字符串结尾

点击查看代码
        // boolean endsWith(String str) 判断字符串是否以某个字符串结尾
        System.out.println(s3.endsWith("洗个脚"));

6.boolean isEmpty() 判断字符串是否为空字符串,指的是内容是否为空

点击查看代码
        //boolean isEmpty() 判断字符串是否为空字符串,指的是内容是否为空
        String s4 = "";
        System.out.println(s4.isEmpty());
        String s5 = null;
//        System.out.println(s5.isEmpty()); // NullPointerException

String类中的获取功能

    int length()
    char charAt(int index)
    int indexOf(int ch)
    int indexOf(String str)
    int indexOf(int ch,int fromIndex)
    int indexOf(String str,int fromIndex)
    String substring(int start)
    String substring(int start,int end)

1.int length() 获取字符串中的字符个数,字符串长度

点击查看代码

        String s = "我在数加学院中学习非常快乐!";
        //int length() 获取字符串中的字符个数,字符串长度
        System.out.println(s.length());

2.char charAt(int index) 根据索引获取字符串中某一个字符

点击查看代码
        //char charAt(int index) 根据索引获取字符串中某一个字符
        //字符串可以被看作成一个字符数组
//        System.out.println(s.charAt(15));如果所给的值不在字符数组中,显示报错 // StringIndexOutOfBoundsException

3.int indexOf(int ch) 根据ascii码值获取对应字符所在的索引位置,左边起第一个

点击查看代码
        //int indexOf(int ch) 根据ascii码值获取对应字符所在的索引位置,左边起第一个
        String s2 = "qweasdsafqe";
        System.out.println(s2.indexOf(104)); // -1  不在范围则显示-1

4.int indexOf(int ch,int fromIndex) 从某个索引开始向后寻找某个字符,返回找到字符在整个大字符串中的索引位置

点击查看代码
        //int indexOf(int ch,int fromIndex) 从某个索引开始向后寻找某个字符,返回找到字符在整个大字符串中的索引位置
        System.out.println(s2.indexOf(97,5)); // 7

5.获取大字符串中小字符串的位置,返回小字符串第一个字符的索引

点击查看代码
        //int indexOf(String str) 获取大字符串中小字符串的位置,返回小字符串第一个字符的索引
        System.out.println(s2.indexOf("sdsa")); // 4

6.int indexOf(String str,int fromIndex) 从某个索引开始向后寻找某个字符,返回找到字符串第一个字符在整个大字符串中的索引位置

点击查看代码
        //int indexOf(String str,int fromIndex) 从某个索引开始向后寻找某个字符,返回找到字符串第一个字符在整个大字符串中的索引位置
        System.out.println(s2.indexOf("saf",3)); // 6

7.String substring(int start) // 从指定位置向后截取,返回新的字符串

点击查看代码

        //String substring(int start) // 从指定位置向后截取,返回新的字符串
        String s3 = "李刚是真的帅!江川很不服,钱志强觉得自己是最帅的!";
        String res1 = s3.substring(3);
        System.out.println(res1);

8.String substring(int start,int end) 截取字符串中的一部分 [start, end)

点击查看代码
        //String substring(int start,int end) 截取字符串中的一部分 [start, end)
        String res2 = s3.substring(7, 12);
        System.out.println(res2);

String转换功能

    byte[] getBytes()
    char[] toCharArray()
    static String valueOf(char[] chs)
    static String valueOf(int i)
    String toLowerCase()
    String toUpperCase()
    String concat(String str)

1.byte[] getBytes() 将字符串转字节数组

点击查看代码
        String s1 = "abcdefg";
        //byte[] getBytes() 将字符串转字节数组
        byte[] bytes = s1.getBytes();
        for(int i=0;i<bytes.length;i++){
            System.out.println(bytes[i]);
        }
        System.out.println("----------------");

2.char[] toCharArray() 将字符串转字符数组

点击查看代码
        //char[] toCharArray()  将字符串转字符数组
        char[] chars = s1.toCharArray();
        for(int i=0;i<chars.length;i++){
            System.out.println(chars[i]);
        }
        System.out.println("----------------");
        String s3 = new String(chars);
        System.out.println(s3);

3.static String valueOf(char[] chs) 将字符数组转字符串

点击查看代码

        //static String valueOf(char[] chs) 将字符数组转字符串
        String s2 = String.valueOf(chars);
        System.out.println(s2);
`4.static String valueOf(int i)将int类型转化为字符串100`
点击查看代码
        //static String valueOf(int i)
        System.out.println(String.valueOf(100)); // 100 -> "100"

5.String toLowerCase() 转小写

点击查看代码
        //String toLowerCase() 转小写
        String s4 = "HellOWOrlD";
        String res1 = s4.toLowerCase();
        System.out.println(res1);

6.String toUpperCase() 转小写

点击查看代码
     //String toUpperCase()
        String res2 = s4.toUpperCase();
        System.out.println(res2);

7.String concat(String str) 字符串拼接操作

点击查看代码
      //String concat(String str) 字符串拼接操作
        String res3 = "李刚".concat("真帅!");
        System.out.println(res3);

String其它功能

        替换功能
            String replace(char old,char new)
            String replace(String old,String new)
        去除字符串两空格
            String trim()
        按字典顺序比较两个字符串
            int compareTo(String str)
            int compareToIgnoreCase(String str)

1.String replace(char old,char new) 由新字符替换字符串中所有旧字符

点击查看代码
        String s1 = "dasqwajavadwqrajjavaiojadjavafq-aedjavaqajiqa";
        //String replace(char old,char new) 由新字符替换字符串中所有旧字符
        String res1 = s1.replace('a', '$');
        System.out.println(s1);
        System.out.println(res1);

2.String replace(String old,String new) 由新的字符串替换旧的字符串

点击查看代码
        //String replace(String old,String new) 由新的字符串替换旧的字符串
        String res2 = s1.replace("java", "李刚");
        System.out.println(res2);

3.String trim() 去除字符串两边的空格

点击查看代码
      //String trim() 去除字符串两边的空格
        String s2 = "    hello  world    ";
        System.out.println("s2: "+s2);
        String res3 = s2.trim();
        System.out.println("res3: "+res3);

4.int compareTo(String str) 按字典顺序比较两个字符串是否相同 当结果是0的时候表示两个字符串内容相同

点击查看代码
        //int compareTo(String str) 按字典顺序比较两个字符串是否相同 当结果是0的时候表示两个字符串内容相同
        String s3 = "hello";
        String s4 = "world";
        String s5 = "hel";
        String s6 = "hello";
        System.out.println(s3.compareTo(s4)); // -15
        System.out.println(s3.compareTo(s5)); // 2
        System.out.println(s3.compareTo(s6)); // 0

标签:常用,String,--,System,int,字符串,println,out
From: https://www.cnblogs.com/wangxiaojian-lina/p/18438373

相关文章

  • 2024初秋集训——提高组 #25
    A.数一下题目描述给定一个正整数\(N\),求\(N\bmod1,N\bmod2,\dots,N\bmodN\)中有多少个不同的值。思路我们对\(N\bmodi\)的\(i\)进行分类讨论:\(i\ge\lceil\frac{N}{2}\rceil\),那么\(N\bmodi=N-i\),所以这部分包含了\(0\)到\(\lfloor\frac{N}{2}\rfloor\)。......
  • 题解 CF407D【Largest Submatrix 3】/ SS240928C【c】
    题目描述给定一个\(n\timesm\)的正整数矩阵,求其中最大的满足其中不存在两个位置数值相等的子矩阵大小。\(1\leqn,m\leq400\)。本题有多种做法,而你需要寻找常数最小的做法才能通过本题。solution链表+双指针枚举上边界,逐渐下移下边界,枚举左边界,尝试双指针获得右边界......
  • 信奥OJ的搭建
    第一步,服务器申请选择一:免费云服务器,免费虚拟主机如:阿贝云阿贝云提供了免费的云服务器和免费的云虚拟主机,可根据自己的实际应用情况选择。首先注册一个账户,然后需要支付0.3元做一个实名认证,如果实名认证成功了大概率会开通成功。如果失败了可能是服务器资源......
  • (nice!!!)LeetCode 2286. 以组为单位订音乐会的门票(线段树)
    题目:2286.以组为单位订音乐会的门票思路:线段树做法。(线段树)acwing1265.数星星classBookMyShow{public: //结构体typedefstructNode{intmn=0;//最小空位编号longlongsum=0;//非空位置之和}node; //n,mintN,M;......
  • 查券机器人在导购返利系统中的高效实现
    查券机器人在导购返利系统中的高效实现大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们来讨论查券机器人在导购返利系统中的高效实现。查券机器人作为导购返利系统中的关键组件,能够帮助用户快速查找商品优惠券并推荐最优购买方案。为了......
  • 【Kotlin 集合概述】可变参数vararg、中缀函数infix以及解构声明(二十)
    导读大纲1.1使用集合:vararg、infix调用和解构声明1.1.1扩展Java集合API1.1.2vararg:接受任意数量参数的函数1.1.3处理pairs:Infix调用和解构声明1.1使用集合:vararg、infix调用和解构声明本节将介绍Kotlin标准库中用于处理集合的一些函数同时......
  • Solution - Kilonova 2837 P2
    先考虑q2。考虑到如果是以\(2^N\)为入手点因为进位的原因看起来就做不了。于是考虑以\(M\)为前缀入手。考虑刻画出\(M\)为前缀的数\(x\)的形式。可以考虑根据\(M\)后面的位数\(k\)来刻画,有\(x\in\bigcup_{k=0}^{\lfloor{\frac{L}{\log_210}}\rfloor}[M\tim......
  • 【模板】不删除双指针
    alsoknownas"baka'strick"目录版本一版本二版本一定义一个问题可以双指针,即要找出所有\(f(l,r)=1\)的区间,\(f\)满足\(f(l,r)\in\{0,1\}\)且若\(f(l,r)=1\)则\(f(l_0,r_0)=1\(l\leql_0\leqr_0\leqr)\)。一般的做法是维护两个指针\(l,r\),不断将\(r\)右......
  • IEnumerable、IEnumerator
    示例1:classE{publicIEnumerableMyGetEnumerator1(){yieldreturn1;}publicIEnumerable<int>MyGetEnumerator2(){yieldreturn1;yieldreturn2;}......
  • 2023龙信题目(部分)
    借着平台开出来的测试题目,复现下23的龙信,虽然24的就开始了2333。题目应该也不完整,感觉备份文件还是很坑的。移动终端取证(共12题,合计24分)1.请分析涉案手机的设备标识是_______。(标准格式:12345678)850696252.请确认嫌疑人首次安装目标APP的安装时间是______。(标准格式:2023-09-13......