【学习笔记】字符串

一、字符串:存储多个字符(字母、数字、汉字)
二、String 引用数据类型,是最终类,不能被继承;
定义的两种方式:
1、String s1="admin";  存放在内存的常量池中;
2、String s2=new String("admin"); 存放在堆栈中;

例:

        String s1="admin";
        String s2="admin";
        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
        System.out.println(s1==s2);
        String s3=new String("admin");
        String s4=new String("admin");
        System.out.println(s3.hashCode());
        System.out.println(s4.hashCode());
        System.out.println(s3==s4);

//输出结果:

92668751
92668751
true
92668751
92668751
false


三、注意:
(一)对String反复进行操作时,会在内存中开辟大量的空间,浪费内存;
(二)字符串中的常用方法:
1、equals()方法:比较两个字符串的值是否一致。一致返回true,不一致返回false;
2、equalsIgnoreCase()方法:不区分大小写比较两个字符串;

       例:

        String s="admin";
        System.out.println(s.equals("Admin"));                //false
        System.out.println(s.equalsIgnoreCase("Admin"));        //true


3、charAt(下标):得到指定下标的字符,下标从0开始;

例:

        String s="admin";
        System.out.println(s.charAt(2));                //输出结果:m


4、concat("字符串"):将两个字符串连接到一起;和“+”功能一样

例:

        String s1="admin";
        String s2=s1+"s";
        System.out.println(s2);
        System.out.println(s1.concat("s"));

//输出结果:

admins
admins

5、boolean endsWith("字符串"):返回布尔值,判断是否以参数字符串结束;

例:

        String s="admin";
        System.out.println(s.endsWith("in"));        //true
6、boolean startsWith("字符串"):返回布尔值,判断是否以参数字符串开头;

例:

        String s="admin";
        System.out.println(s.startsWith("Ad"));        //false
7、substring(开始下标,结束下标):截取字符串,如果只有开始下标,会一直截取到字符串的结尾;如果两个参数都有,结束下标位置上的字符不包含在截取范围内;即>=开始下标,<结束下标;

例:

        String s="admin";
        System.out.println(s.substring(1));        //dmin
        System.out.println(s.substring(1,4));        //dmi


8、int indexOf("字符串"):得到参数字符串在总字符串中的第一次出现的位置,如果没有出现,返回-1;

例:

        String s="adminin";
        System.out.println(s.indexOf("in"));        //3
        System.out.println(s.indexOf("ins"));        //-1
  9、int lastIndexOf("字符串"):从后到前搜索位置,当前位置下标还是正向的,如果没有出现,返回-1

例:

        String s="adminin";
        System.out.println(s.lastIndexOf("in"));        //5
        System.out.println(s.lastIndexOf("ins"));        //-1
10、boolean isEmpty():判断字符串是否有内容;

例:

        String s="adminin";
        System.out.println(s.isEmpty());        //false
11、int length():获得字符串中字符的个数;

例:

        String s="adminin";
        System.out.println(s.length());        //7
12、String replace("旧的字符串","新的字符串"):用新字符串替换所有的旧字符串;

例:

        String s="adminin";
        System.out.println(s.replace("in","on"));        //admonon


13、String[] split("分割符"):将一个字符串以固定的分隔符拆分成字符串数组;

例:

        String s="ad-m-in-in";
        String[] strs=s.split("-");
        System.out.println(Arrays.toString(strs));        //[ad, m, in, in]
   
四、StringBuffer和StringBuilder类
1、目的:解决反复对字符串操作开辟大量内存空间的问题;
2、StringBuffer和StringBuilder和String的区别:
String类中的内容不能改变, StringBuffer和StringBuilder中的内容可以改变;

例:

        String s="admin";
        String str=s+"new";        
        System.out.println(str);
        System.out.println(s);
        StringBuffer sBuffer=new StringBuffer(s);
        System.out.println(sBuffer.toString());
        System.out.println(sBuffer.append("on"));
        System.out.println(sBuffer);
        StringBuilder sBuilder=new StringBuilder(s);
        System.out.println(sBuilder);

//输出结果:

adminnew
admin
admin
adminon
adminon
admin

### Python字符串处理的相关学习笔记与示例 #### 字符串基础操作 Python提供了丰富的内置函数来支持字符串的操作,例如拼接、重复、查找和替换等。这些基本功能构成了日常开发中不可或缺的一部分[^1]。 ```python # 字符串拼接 str1 = "Hello" str2 = "World" result = str1 + " " + str2 # 使用加号进行拼接 print(result) # 输出: Hello World # 字符串重复 repeat_str = "abc" * 3 print(repeat_str) # 输出: abcabcabc # 查找子字符串的位置 position = result.find("World") print(position) # 输出: 6 # 替换字符串中的部分 new_result = result.replace("World", "Python") print(new_result) # 输出: Hello Python ``` --- #### 字符串格式化方法 除了简单的字符串操作外,Python还提供多种方式来进行字符串的格式化输出,其中包括 `.format()` 和 `f-string` 这两种常用的方法[^2][^4]。 ##### 使用 `.format()` 方法 `.format()` 是一种灵活且强大的工具,允许开发者通过占位符动态填充数据到模板字符串中。 ```python name = "Alice" age = 30 formatted_string = "Name: {}, Age: {}".format(name, age) print(formatted_string) # 输出: Name: Alice, Age: 30 # 自定义位置参数 custom_order = "{1} was born in the year {0}".format(1990, name) print(custom_order) # 输出: Alice was born in the year 1990 ``` ##### 使用 `f-string` 自 Python 3.6 起引入的 `f-string` 提供了一种更加简洁直观的方式来嵌入变量或表达式。 ```python greeting = f"Hello, my name is {name}. I am {age} years old." print(greeting) # 输出: Hello, my name is Alice. I am 30 years old. ``` --- #### 获取字符串长度 为了统计字符串中字符的数量,可以使用内置函数 `len()` 来完成这一任务。该函数不仅适用于字符串,还可以用于其他序列类型的对象,如列表、元组和字典[^3]。 ```python sample_text = "This is a sample text." length_of_text = len(sample_text) print(f"The length of the string is: {length_of_text}") # 输出: The length of the string is: 21 example_list = ["apple", "banana", "cherry"] list_length = len(example_list) print(list_length) # 输出: 3 ``` --- #### 高效字符串旋转 当涉及到字符串的旋转操作时,可以通过切片或者利用 `collections.deque` 的高效特性来实现[^5]。 ```python from collections import deque def rotate_string(s, n): d = deque(s) rotation_steps = n % len(s) if s else 0 d.rotate(-rotation_steps) return ''.join(d) original_string = "abcdef" rotated_string = rotate_string(original_string, 2) print(rotated_string) # 输出: cdefab ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值