JDK1.9-常用类String

1.1 String类概述

概述
java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc")都可以被看作是实现此类的实例

String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。

特点
1.字符串不变:字符串的值在创建后不能被更改。

String s1 = "abc"; s1 += "d";
System.out.println(s1); // "abcd"
// 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。

2.因为String对象是不可变的,所以它们可以被共享。

String s1 = "abc"; 
String s2 = "abc";
// 内存中只有一个"abc"对象被创建,同时被s1和s2共享。

3."abc"等效于 char[] data = {'a','b','c'}
在这里插入图片描述

1.2 使用步骤
  • 查看类
    • java.lang.String 此类不需要导入。
  • 查看构造方法
    • public String() ;初始化新创建的 String对象,以使其表示空字符序列。
    • public String(char[] value) : 通过当前参数中的字符数组来构造新的String。
    • public String(byte[] bytes) : 通过使用平台的默认字符集解码当前参数中的字节数组来构造新的String。
    • 构造举例,代码如下:
      在这里插入图片描述
1.3常用方法

判断功能的方法

  • public boolean equals (Object anObject) :将此字符串与指定对象进行比较。
  • public boolean equalsIgnoreCase (String anotherString) : 将此字符串与指定对象进行比较,忽略大小写

方法演示,代码如下:
在这里插入图片描述

Object 是” 对象”的意思,也是一种引用类型。作为参数类型,表示任意对象都可以传递到方法中。

获取功能的方法

  • public int length () 返回此字符串的长度。
  • public String concat (String str) : 将指定的字符串连接到该字符串的末尾。
  • public char charAt (int index) : 返回指定索引处的 char值。
  • public int indexOf (String str) 该字符串第一次出现的索引位置
  • public String substring (int beginIndex) : 返回一个子字符串,从begin Index开始截取字符串到字符串结尾
  • public String substring (int beginIndex, int endIndex) : 返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。

方法演示,代码如下:

public class String_Demo02 {
    public static void main(String[] args) {
        //创建字符串对象
        String s = "helloworld";

        // int length():获取字符串的长度,其实也就是字符个数
        // System.out.println(s.length()); 
        // System.out.println("‐‐‐‐‐‐‐‐");

        // String concat (String str):将将指定的字符串连接到该字符串的末尾. 
        // String s = "helloworld";
        String s2 = s.concat("**hello itheima");

        // char charAt(int index):获取指定索引处的字符
        // System.out.println(s.charAt(0));
        // System.out.println(s.charAt(1));
        // System.out.println("‐‐‐‐‐‐‐‐");

        // int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回‐1
        // System.out.println(s.indexOf("l"));
        // System.out.println(s.indexOf("owo"));
        // System.out.println(s.indexOf("ak"));
        System.out.println("‐‐‐‐‐‐‐‐");

        // String substring(int start):从start开始截取字符串到字符串结尾
        // System.out.println(s.substring(0)); 
        // System.out.println(s.substring(5)); 
        // System.out.println("‐‐‐‐‐‐‐‐");

        // String substring(int start,int end):从start到end截取字符串。含start,不含end。
        // System.out.println(s.substring(0, s.length()));
        // System.out.println(s.substring(3,8));
    }
}
  • public char[] toCharArray () : 将此字符串转换为新的字符串数组
  • public byte[] getBytes () : 使用平台默认的字符集将该String编码转换为新的字节数组
  • public String replace (CharSequence target, CharSequence replacement) : 将与target匹配的字符串使用replacement字符串替换。

方法演示,代码如下:

public class String_Demo03 {
    public static void main(String[] args) {
        //创建字符串对象String s = "abcde";

        // char[] toCharArray():把字符串转换为字符数组
        // char[] chs = s.toCharArray();
        for (int x = 0; x < chs.length; x++) {
            System.out.println(chs[x]);
        }
        System.out.println("‐‐‐‐‐‐‐‐‐‐‐");

        // byte[] getBytes ():把字符串转换为字节数组
        // byte[] bytes = s.getBytes();
        for (int x = 0; x < bytes.length; x++) {
            System.out.println(bytes[x]);
        }
        System.out.println("‐‐‐‐‐‐‐‐‐‐‐");

        // 替换字母it为大写IT
        // String replace = str.replace("it", "IT");
        // System.out.println(replace);
        // ITcast ITheima System.out.println("‐‐‐‐‐‐‐‐‐‐‐");
    }
}

CharSequence 是一个接口,也是一种引用类型。作为参数类型,可以把String对象传递到方法中。

分割功能的方法

  • public String[] split(String regex) : 将此字符串按照给定的regex(规则)拆分为字符串数组。

方法演示,代码如下:
在这里插入图片描述

1.4 String类的练习

拼接字符串
定义一个方法,把数组{1,2,3}按照指定个格式拼接成一个字符串。格式参照如下:

public class StringTest1 {
    public static void main(String[] args) {
        //定义一个int类型的数组
        // int[] arr = {1, 2, 3};

        //调用方法
        String s = arrayToString(arr);

        //输出结果System.out.println("s:" + s);
    }

    /*
     *写方法实现把数组中的元素按照指定的格式拼接成一个字符串
     *两个明确:
     *返回值类型:String
     *参数列表:int[] arr
     */
    public static String arrayToString(int[] arr) {
        // 创建字符串s
        String s = new String("[");
        // 遍历数组,并拼接字符串
        for (int x = 0; x < arr.length; x++) {
            if (x == arr.length - 1) {
                s = s.concat(arr[x] + "]");
            } else {
                s = s.concat(arr[x] + "#");
            }
        }
        return s;
    }

}

统计字符个数
键盘录入一个字符,统计字符串中大小写字母及数字字符个数
在这里插入图片描述

相关推荐
<p> <strong><span style="font-size:20px;color:#FF0000;">本课程主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者</span></strong> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">1. 包含:<span style="color:#FFFF00;background-color:#FF0000;">项目源码、</span><span style="color:#FFFF00;background-color:#FF0000;">项目文档、数据库脚本、软件工具</span>等所有资料</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">2. 手把手的带你从零开始部署运行本套系统</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">3. 该项目附带的源码资料可作为毕设使用</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">4. 提供技术答疑和远程协助指导</span></strong></span><strong><span style="font-size:18px;"></span></strong> </p> <p> <br /> </p> <p> <span style="font-size:18px;"><strong>项目运行截图:</strong></span> </p> <p> <strong><span style="font-size:18px;">1)系统登陆界面</span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241015433522.png" alt="" /><br /> </span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">2)学生模块</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241015575966.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">3)教师模块</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016127898.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">4)系统管理员</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016281177.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016369884.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><br /> </span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">更多Java毕设项目请关注我的毕设系列课程 <a href="https://edu.csdn.net/lecturer/2104">https://edu.csdn.net/lecturer/2104</a></span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><br /> </span></strong> </p>
<p> 课程演示环境:Windows10  </p> <p> 需要学习<span>Ubuntus</span>系统<span>YOLOv4-tiny</span>的同学请前往《<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》 <span></span> </p> <p> <span> </span> </p> <p> <span style="color:#E53333;">YOLOv4-tiny</span><span style="color:#E53333;">来了!速度大幅提升!</span><span></span> </p> <p> <span> </span> </p> <p> <span>YOLOv4-tiny</span>在<span>COCO</span>上的性能可达到:<span>40.2% AP50, 371 FPS (GTX 1080 Ti)</span>。相较于<span>YOLOv3-tiny</span>,<span>AP</span>和<span>FPS</span>的性能有巨大提升。并且,<span>YOLOv4-tiny</span>的权重文件只有<span>23MB</span>,适合在移动端、嵌入式设备、边缘计算设备上部署。<span></span> </p> <p> <span> </span> </p> <p> 本课程将手把手地教大家使用<span>labelImg</span>标注和使用<span>YOLOv4-tiny</span>训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。<span></span> </p> <p> <span> </span> </p> <p> 本课程的<span>YOLOv4-tiny</span>使用<span>AlexAB/darknet</span>,在<span>Windows10</span>系统上做项目演示。包括:<span>YOLOv4-tiny</span>的网络结构、安装<span>YOLOv4-tiny</span>、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计<span>(mAP</span>计算<span>)</span>和先验框聚分析。 <span> </span> </p> <p> <span> </span> </p> <p> 除本课程《<span>Windows</span>版<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》外,本人推出了有关<span>YOLOv4</span>目标检测的系列课程。请持续关注该系列的其它视频课程,包括:<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:训练自己的数据集》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:人脸口罩佩戴识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:中国交通标志识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测:原理与源码解析》<span></span> </p> <p> <span> <img alt="" src="https://img-bss.csdnimg.cn/202007061503586145.jpg" /></span> </p> <p> <span><img alt="" src="https://img-bss.csdnimg.cn/202007061504169339.jpg" /><br /> </span> </p>
©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页