栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

String

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String

String

Java中""引起来的,都是这个类的实例,称为字符串
字符串定义后是一个常量,值不可更改。字符串实际是一个字符数组。
在比较字符串时,==比较的是地址值,equals()比较字符串是否相同

String str = "qwe";//创建一个"qwe"字符串对象,将其地址值保存在str中
str = "asd";//这里看似是修改的值,其实也是将"asd"地址值赋给str

上面两句代码会在内存中创建两个字符串对象,str引用的是最后一个的地址值。

由此可见我们在频繁更改字符串值的时候尽量不要使用String去操作,这样会消耗内存空间

""创建对象
        //首先会在堆空间中的字符串常量池寻找是否存在"qw"字符串对象,不存在创建"qw",然后地址值赋给str1
        String str1 = "qw";
        //同理,字符串常量词中去寻找,存在,直接将地址值赋给str2
        String str2 = "qw";
        //"q" + "w"这种形式拼接字符串,是拼接后的结果去字符串常量池中寻找,同样存在,将地址值赋给str3
        String str3 = "q" + "w";
        //==比较地址值
        System.out.println(str1 == str2);
        System.out.println(str1 == str3);
true
true
构造方法创建对象

常用的:

new String(“”):

        //1.首先会在堆空间中的字符串常量池寻找是否存在"qw"字符串对象,不存在创建"qw"
        //2.然后再堆空间中new String(),然后将"qw"保存到new String()的空间中
        String str1 = new String("qw");
        //1.首先会在堆空间中的字符串常量池寻找是否存在"qw"字符串对象,存在
        //2.然后再堆空间中new String(),然后将"qw"保存到new String()的空间中
        String str2 = new String("qw");
        System.out.println(str1 == str2);//false

以上创建了3个对象

        //1.首先在字符串常量池中创建"q"对象
        //2.然后再堆空间new StringBuilder()对象
        //3.在字符串常量池中创建"w"对象
        //4.在堆空间中new String()对象
        //5.将"a"和new String对象在new StringBuilder()拼接
        String str1 = "q" + new String("w");//不同于上面"q" + "w"

以上创建4个对象

常用方法运用
        String str = " Hello World ";
        //length()获取字符串长度,空格包括
        System.out.println(str.length());
        //trim()去除首尾空格,不影响原字符串
        System.out.println(str.trim());
        //toUpperCase()转大写
        System.out.println(str.toUpperCase());
        //toLowerCase()转小写
        System.out.println(str.toLowerCase());
        //isEmpty()判断字符串是否为空
        System.out.println(str.isEmpty());
        //toCharArray()将字符串转化为char数组
        for (char c : str.toCharArray()) {
            System.out.print(c+",");
        }
        String str1 = "qw";
        String str2 = "QW";
        //equalsIgnoreCase()忽略字符串大小写,比较是否相等
        System.out.println(str1.equalsIgnoreCase(str2));

        String str = "wqweqqq";
        //indexOf()获取某个字符第一次出现的索引位置,可以用于获取子串
        System.out.println(str.indexOf("q"));
        //lastIndexOf()获取某个字符最后一次出现的索引位置
        System.out.println(str.lastIndexOf("wq"));

        String str = "qwwwert";
        //contains()用于验证是否存在某个字符串
        System.out.println(str.contains("qw"));

        String str = "你好";
        //concat()用于拼接
        System.out.println(str.concat("小明"));

        String str = "qwert";
        //判断以什么开头
        System.out.println(str.startsWith("qw"));
        //判断是否以什么结尾
        System.out.println(str.endsWith("at"));

        String mail = "123456@qq.com";
       //split()正则表达式
        for (String s : mail.split("@")) {
            System.out.print(s+",");
        }//123456,qq.com,

        String str = "how are you";
		//打印索引后的字符串
        System.out.println(str.substring(0));
        //打印[1,3)的字符串
        System.out.println(str.substring(1,3));
习题

字符串倒序输出

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一段字符串:");
        String str = sc.nextLine();
		//正则表达式不给条件,简接让字符串变为字符数组
        String[] newStr = str.split("");
        for (int i = newStr.length - 1; i >= 0 ; i--) {
            System.out.print(newStr[i]);
        }

输入域名,判断网站类型

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个网站域名:");
        String str = sc.next();
        int index = str.lastIndexOf(".");
        String topLevelDomain = str.substring(index);
        switch (topLevelDomain) {
            case ".com":
                System.out.println("该网站为商业类网站");
                break;
            case ".edu":
                System.out.println("该网站为教育类网站");
                break;
            case ".gov":
                System.out.println("该网站为政务类网站");
                break;
            case ".org":
                System.out.println("该网站为论坛类网站");
                break;
        }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026309.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号