Java 杂谈程序员计算机杂谈

【Java学习笔记】(二)字符串(多图)

2017-12-09  本文已影响0人  胖若两人_

文章来自我的博客

正文之前

字符串String),是由零个或多个字符组成的有限序列。一般记为 s = a1a2...an(0 ≤ n ≤ ∞)它是编程语言中表示文本的数据类型
                        ——Wikipedia

本文将会介绍:

Java字符串基本概念
字符串基本操作


正文

Java字符串基本概念

  1. String类
  2. 字符串不可变性

substring() 方法将在下文介绍,此处代码含义:
生成字符串 s1 :Hello ,截取字符串,此处所得到的字符串是新生成的,并没有在 s1 直接改变


将字符串作为方法的参数时,都会自动复制一份引用,将 s1 拷贝至 s2 时,只是传递一个复制的引用,将 s2 改变时,其实只是改变了 s2 复制的引用

关于字符串的不变性,一定要牢记在心!


字符串基本操作

  1. 子串
  2. 字符串比较
  3. 字符串分割
  4. 字符串拼接
  5. 字符串转换

1. 子串

在Java中,用 substring() 来生成一个字串,先看看官方的API:

substring(0,2)表示截取位置从0到2的字符(不包括2),并生成子串

substring(2)表示从截取位置从2到字符串末尾的字符,并生成子串(substring(0)所生成的字符串的内容和原字符串相同)


2. 字符串比较

  1. equals()方法
  2. 等号比较(==)
equals()方法:

返回值为 int 类型:第一个字符串长度减去第二个字符串长度

等号比较(==) :

直接用等号比较:比较的是两个字符串的位置,千万不要用等号来比较两个字符串的内容(或许很多内容相同的字符串的拷贝将分布在不同位置)

经过一系列操作后,虽然 s1s2 内容相同,但是位置却不同了:


3. 字符串分割:

split(String regex)将参数作为分割元素,划分字符串,生成多个子串,并存放于数组内:

split(String regex, int limit)表示了另一种分割字符串的方法,参数limit作为存放子串的数组的最大空间:

  1. limit > 0:数组的大小为limit的值,字符串切分的次数为limit的值,不管是否按要求完成切分

  2. limit < 0:数组的大小为任意,字符串切分的次数为任意,直到将字符串按要求完成切分

  3. limit = 0:数组的大小为任意,字符串切分的次数为任意,直到将字符串按要求完成切分,并将数组末尾的空字符串删去

public static void main(String[] args){
        String s1 = "1oo:2:3:4:5oo";
        String[] s2 = s1.split("o",2);
        String[] s3 = s1.split("o",0);
        String[] s4 = s1.split("o",-2);
        for (String  i: s2) {
            if(i.equals("")){
                System.out.println("this is an empty string");  //显示出空字符串
            }
            System.out.println(i);
        }
        System.out.println("--------------------");
        System.out.println();
        for (String  i: s3) {
            if(i.equals("")){
                System.out.println("this is an empty string");  //显示出空字符串
            }
            System.out.println(i);
        }
        System.out.println("--------------------");
        System.out.println();
        for (String  i: s4) {
            if(i.equals("")){
                System.out.println("this is an empty string");  //显示出空字符串
            }
            System.out.println(i);
        }
        System.out.println("--------------------");
    }

4. 字符串拼接

  1. 重载操作符(+)
  2. StringBuffer.append()方法
  3. String.concat()方法
重载操作符(+):

将操作符中的加号(+)重载之后可作为字符串连接的方式

StringBuffer.append()方法

StringBuffer为可变长度的,可以一直扩容,如果在字符串经常改变的情况下,使用StringBuffer是更为合适的

String.concat()方法

由于concat()方法返回String类型,所以可以一直拼接,在这次拼接中,总共生成了 4 个字符串

5. 字符串转换

有时需要在Integer类型和String类型之间互相转换,接下来说说这几种方法:

Integer -> String :
String.valueOf(int i)
Integer.toString(int i)

String -> Integer
Integer.parseInt(String s)
Integer.valueOf(String s)

Integer -> String
String -> Integer

关于字符串的基本知识就到这里啦!

上一篇下一篇

猜你喜欢

热点阅读