zoukankan      html  css  js  c++  java
  • Java基础——字符串String

    String类

    1. String类位于java.lang包中,使用时无需导包。

    2. 创建字符串的两种方式:

      ① 直接指定(字面量声明):String str = "abc";

      ② 使用 new 关键字声明:String str = new String ("abc");

    3. 使用 String类 时的常用方法:

      ① str.length()返回字符串的长度。length() 是一个方法。

    1 System.out.println("请输入用户名:");
    2     String str=sc.next();
    3     if(str.length()<6){   
    4         System.out.println("用户名最小为6位!");
    5     }

      ② str.equals() 判断字符串是否相等。

    1 public static void main(String[] args) {
    2         String str1=new String("abc");
    3         String str2=new String("123");
    4         System.out.println(str1.equals(str2));
    5 
    6     }

      结果为false。

      注意:.equals()和 == 的对比原则:.equals()是判断两个字符串中的每一个字符是否相等;而 == 是判断两个字符串的存储地址是否相等。

      ③ .toLowerCase() 将所有字符转换为小写。

        .toUpperCase() 将所有字符转换为大写。

    1 public static void main(String[] args) {
    2         String str1=new String("HELLO");
    3         String str2=new String("world");
    4         System.out.println(str1.toLowerCase()); //大写转换为小写
    5         System.out.println(str2.toUpperCase()); //小写转换为大写
    6 
    7     }

      结果为"hello" "WORLD"。

      ④ str1.concat(str2) 连接字符串。将str2连接到str1后面,并返回一个新的字符串。

           而使用 + 连接才是最常用的。

    public static void main(String[] args) {
            String str1=new String("生日");
            String str2=new String("happy!");
            System.out.println(str1.concat(str2)); //使用concat连接
            
            System.out.println(str1+str2); //使用 + 连接
        }

      两种方法结果一样:

      

      ⑤ .indexOf()在字符串中查找指定的字符或子串,并返回其下标。如果没有返回-1。

            可以接受字符串、字符、整数类型的参数。如果传入整数。将根据ASCII码自动转化为字符。

           .lastindexOf()在字符串中查找指定的字符或子串最后一次出现的位置,并返回去下标。如果没有返回-1。

      

     1 public static void main(String[] args) {
     2         String str1=new String("abcdefg");
     3         System.out.println(str1.indexOf("c")); //返回2
     4         System.out.println(str1.indexOf("def")); //返回3
     5         System.out.println(str1.indexOf("acd")); //返回-1
     6         System.out.println(str1.indexOf(100)); //返回3,"d"的ASCII码值为100
     7         String str2=new String("abaafg");
     8         System.out.println(str2.lastIndexOf("a")); //返回3
     9         
    10     }

      结果为:

      

      ⑥ .substring()截取字符串的指定位置,并返回一个新的子串。

           .sunstring(3)传入一个参数,表示起始下标,将从此下标开始,一直截到字符串最后;

           .sunstring (3,5)传入两个参数,表示起始下标和结束下标,为左闭右开区间,包含起始下标不包含结束下标。

    1 public static void main(String[] args) {
    2         String str=new String("abcdefg");
    3         System.out.println(str.substring(3)); //返回defg
    4         System.out.println(str.substring(1, 3)); //返回bc
    5         
    6     }

      结果为:

       

      ⑦ .trim()去掉字符串两端的空格。不能去掉中间空格。

     

    public static void main(String[] args) {
            String str1=new String("   abcdefg   ");
            System.out.println(str1.trim()); //返回"abcdefg"
            String str2=new String("abc  defg");
            System.out.println(str2.trim()); //返回"abc  defg"
            
        }

      结果为:

       

      ⑧ .replace("abc","*") 将字符串中的指定区域,用新的字符串替换掉。

      

    public static void main(String[] args) {
            String str=new String("abcdefg");
            System.out.println(str.replace("abc", "***"));
            
        }

      结果为:

      

     

       ⑨ .split(" "); 传入指定字符,将字符串分割为多个子串,返回一个字符串类型的数组;如果传入一个空字符串,则将原字符串的每一个字符都进行分隔。

         .split(" ",3)第二个参数,可以传入一个整数,表示将当前字符串分隔为几部分;如果传入的整数小于原来分割的总部分,则剩余的区域将不再分割。

     

     1 public static void main(String[] args) {
     2         String str1=new String("abcdefg");
     3         String[] a1=str1.split("");
     4         System.out.println(Arrays.toString(a1)); //返回字符串类型的数组,将每一个字符进行分割。
     5         
     6         String str2=new String("abcdefg");
     7         String[] a2=str2.split("", 3);
     8         System.out.println(Arrays.toString(a2)); //分割为3部分
     9     
    10     }

      结果为:

      

     

  • 相关阅读:
    [redis] 普通 RedisPool 的 CRUD 实现
    [maven] 常用仓库地址
    [saiku] 通过 saiku 的 DEMO 分析 connection
    [backbone]backbone.js
    [saiku] JCR在saiku中的运用原理
    [redis] 分布式 Redis 的 CRUD 实现
    [redis] session 保存到 redis 简单实现
    [redis] redis 存取键值对常用的三种使用方式
    226. Invert Binary Tree
    225. Implement Stack using Queues
  • 原文地址:https://www.cnblogs.com/yanglianwei/p/8687057.html
Copyright © 2011-2022 走看看