首页 > 编程语言 >Java零基础入门-字符串

Java零基础入门-字符串

时间:2023-11-18 12:32:58浏览次数:37  
标签:Java 入门 int chars str 字符串 String

Java零基础入门-字符串

前言

Java是一门非常强大的编程语言,在计算机领域拥有广泛的应用。作为Java的入门阶段,掌握字符串的基本概念以及使用方法是非常重要的,它也是Java程序中经常使用的一种数据类型。

本文将从Java字符串的定义、创建、内容操作等方面进行详细阐述,给读者带来更加全面深入的认识。

摘要

本文主要介绍Java字符串的定义、创建、内容操作等方面,包括如何创建字符串、如何获取字符串的长度、如何进行字符串的连接和分割、如何进行字符串的查找和替换等。

简介

Java字符串是指一串字符的序列,它是Java中的一种基本数据类型。字符串可以是任何字符集合,例如数字、字母、特殊字符等。字符串在Java中是不可变的,一旦被创建,就无法改变其内容。

Java字符串类提供了一系列方法,可以对字符串进行操作,如创建、连接、分割、查找、替换等。使用这些方法,可以方便地对字符串进行处理。

源代码解析

创建字符串

Java提供了两种创建字符串的方式:直接赋值和使用String类的构造方法。

// 直接赋值
String str1 = "hello world";

// 使用构造方法
String str2 = new String("hello world");

获取字符串的长度

Java中使用length()方法获取字符串的长度。

String str = "hello world";
int len = str.length();
System.out.println(len);

字符串连接

Java中使用+concat()方法来实现字符串连接。

String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2;
String str4 = str1.concat(str2);
System.out.println(str3);
System.out.println(str4);

字符串分割

Java中使用split()方法对字符串进行分割。

String str = "hello,world,java";
String[] arr = str.split(",");
for (String s : arr) {
    System.out.println(s);
}

字符串查找

Java中使用indexOf()方法查找字符串中指定字符或子串的位置。

String str = "hello world";
int index = str.indexOf("o");
System.out.println(index);

字符串替换

Java中使用replace()方法对字符串进行替换。

String str = "hello world";
String newStr = str.replace("world", "java");
System.out.println(newStr);

应用场景案例

实现字符串加密

public static String encrypt(String str, int key) {
    char[] chars = str.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        chars[i] = (char) (chars[i] + key);
    }
    return new String(chars);
}

public static String decrypt(String str, int key) {
    char[] chars = str.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        chars[i] = (char) (chars[i] - key);
    }
    return new String(chars);
}

实现字符串倒序输出

public static String reverse(String str) {
    char[] chars = str.toCharArray();
    int left = 0;
    int right = chars.length - 1;
    while (left < right) {
        char temp = chars[left];
        chars[left] = chars[right];
        chars[right] = temp;
        left++;
        right--;
    }
    return new String(chars);
}

优缺点分析

优点

  • 字符串在Java中具有很高的应用价值,是一种非常常用的数据类型。
  • Java字符串类提供了丰富的方法,可以对字符串进行各种操作,非常方便实用。
  • 字符串在Java中是不可变的,这样就可以大大提高程序的安全性。

缺点

  • 字符串在Java中是不可变的,这就意味着每次对字符串进行修改时,都会创建一个新的字符串对象,这可能会消耗较多的系统资源和内存。

类代码方法介绍

String类

构造方法
  • String():产生内容为空的字符串
  • String(byte[] bytes):使用平台默认字符集将byte数组转换为字符串
  • String(byte[] bytes, Charset charset):使用指定字符集将byte数组转换为字符串
  • String(byte[] bytes, int offset, int length):使用平台默认字符集将byte数组的一部分转换为字符串
  • String(char[] value):使用字符数组中的字符序列创建字符串
  • String(char[] value, int offset, int count):使用字符数组的一部分创建字符串
  • String(int[] codePoints, int offset, int count):使用Unicode字符数组的一部分创建字符串
  • String(String original):创建与字符串参数相同的字符串
  • String(StringBuffer buffer):使用StringBuffer中的字符序列创建字符串
  • String(StringBuilder builder):使用StringBuilder中的字符序列创建字符串
常用方法
  • charAt(int index):返回指定索引处的字符
  • compareTo(String anotherString):按字典序比较两个字符串,相等返回0,大于返回正数,小于返回负数
  • concat(String str):将指定字符串连接到原字符串末尾
  • contains(CharSequence s):判断字符串中是否包含指定字符串
  • endsWith(String suffix):判断字符串是否以指定字符串结尾
  • equals(Object anObject):将此字符串与指定对象进行比较
  • equalsIgnoreCase(String anotherString):将此字符串与指定字符串进行比较,不考虑大小写
  • getBytes():使用平台的默认字符集将此字符串编码为byte序列,并将结果存储到一个新的byte数组中
  • indexOf(int ch):返回指定字符第一次出现的位置
  • indexOf(String str):返回指定字符串第一次出现的位置
  • isEmpty():判断此字符串是否为空
  • lastIndexOf(int ch):返回指定字符最后一次出现的位置
  • lastIndexOf(String str):返回指定字符串最后一次出现的位置
  • length():返回此字符串的长度
  • replace(char oldChar, char newChar):返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
  • replaceAll(String regex, String replacement):使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串
  • split(String regex):根据给定正则表达式的匹配拆分此字符串
  • startsWith(String prefix):测试此字符串是否以指定的前缀开头
  • substring(int beginIndex):返回一个新的字符串,它是此字符串从指定位置 beginIndex 处开始的子字符串
  • substring(int beginIndex, int endIndex):返回一个新字符串,它是一个此字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符子串
  • toLowerCase():将此字符串转换为小写字母
  • toUpperCase():将此字符串转换为大写字母
  • trim():返回字符串的副本,忽略前导空白和尾部空白

测试用例

public class StringTest {
    public static void main(String[] args) {
        // 创建字符串
        String str1 = "hello world";
        String str2 = new String("hello world");

        // 获取字符串的长度
        int len = str1.length();
        System.out.println(len);

        // 字符串连接
        String str3 = str1 + " " + str2;
        String str4 = str1.concat(str2);
        System.out.println(str3);
        System.out.println(str4);

        // 字符串分割
        String str5 = "hello,world,java";
        String[] arr = str5.split(",");
        for (String s : arr) {
            System.out.println(s);
        }

        // 字符串查找
        String str6 = "hello world";
        int index = str6.indexOf("o");
        System.out.println(index);

        // 字符串替换
        String str7 = "hello world";
        String newStr = str7.replace("world", "java");
        System.out.println(newStr);

        // 加密和解密字符串
        String str8 = "password";
        String encryptStr = encrypt(str8, 5);
        System.out.println(encryptStr);
        String decryptStr = decrypt(encryptStr, 5);
        System.out.println(decryptStr);

        // 字符串倒序输出
        String str9 = "hello world";
        String reversedStr = reverse(str9);
        System.out.println(reversedStr);
    }

    public static String encrypt(String str, int key) {
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            chars[i] = (char) (chars[i] + key);
        }
        return new String(chars);
    }

    public static String decrypt(String str, int key) {
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            chars[i] = (char) (chars[i] - key);
        }
        return new String(chars);
    }

    public static String reverse(String str) {
        char[] chars = str.toCharArray();
        int left = 0;
        int right = chars.length - 1;
        while (left < right) {
            char temp = chars[left];
            chars[left] = chars[right];
            chars[right] = temp;
            left++;
            right--;
        }
        return new String(chars);
    }
}

总结

本文介绍了Java字符串的定义、创建、内容操作等方面,包括如何创建字符串、如何获取字符串的长度、如何进行字符串的连接和分割、如何进行字符串的查找和替换等。同时也通过应用场景案例和常用方法介绍,帮助读者更加全面深入地了解字符串的使用。

在使用字符串时,需要注意它的不可变性和创建新字符串可能带来的性能和内存开销。在实际开发中,应该根据具体情况,选择适当的字符串处理方法。

标签:Java,入门,int,chars,str,字符串,String
From: https://blog.51cto.com/u_15700799/8460869

相关文章

  • JavaScript BOM对象
    一、window对象顾名思义window是窗口的意思,也就是浏览器的窗口,所有浏览器都支持window对象,因此所有的JavaScript全局对象,函数,变量都是window对象的成员全局变量是window对象的属性全局函数是window对象的方法子对象:属性:方法:二、location对象location对象用于获得当......
  • js 的对象之 字符串对象
     javascript中的对象分为3种:自定义对象,内置对象,浏览器对象JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等。在JavaScript中,对象是拥有属性和方法的数据。1.对象Object创建对象var对象名称=newObject();设置对象属性对象名称.属性名=值;设置对象......
  • Java的(dao、service、controller)解释
    Java的(dao、service、controller)解释pojo部门实体类 1、dao(mapper)层:数据访问层dao层属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。负责与数据......
  • 数据库入门:掌握MySQL数据库的五大基本操作,轻松驾驭数据世界!
    对数据库进行查询和修改操作的语言叫做SQL(StructuredQueryLanguage,结构化查询语言)。SQL语言是目前广泛使用的关系数据库标准语言,是各种数据库交互方式的基础。在之前的文章中,我们已经掌握了SQL语言的基本概念以及常用的DDL(数据定义)和DML(数据操作)语句。接下来,我们将探讨如何......
  • java 去除首尾指定字符
    /***删除字符串首尾指定字符*/publicstaticStringcustomTrim(Stringstr,charc){char[]chars=str.toCharArray();intlen=chars.length;intst=0;while((st<len)&&(chars[st]==c)){......
  • Maven中java打包初探究
    @[TOC]创建和使用Jar包是Java开发中的常见任务,Maven是一种流行的构建工具,用于管理项目依赖和构建Jar包。让我们通过Maven来演示如何创建和使用Jar包。创建Jar包步骤1:创建Maven项目首先,确保您已经安装了Maven。然后,创建一个新的Maven项目,可以使用Maven的命令行工具或IDE(如Eclipse......
  • JavaScript事件
    JavaScript事件键盘事件:keypress键盘事件,keyup抬起,keydown按下文档:load加载表单:focus获得焦点,blur失去焦点,submit提交事件,change改变事件其他:scroll滚动事件,selectstart选择事件1.event事件对象常见的属性和方法e.target返回触发事件的对象标准e.srcElement返......
  • java智慧工地AI视频管理平台源码
    智慧工地是指以物联网、移动互联网技术为基础,充分应用人工智能等信息技术,通过AI赋能建筑行业,对住建项目内人员、车辆、安全、设备、材料等进行智能化管理,实现工地现场生产作业协调、智能处理和科学管理。智慧工地的核心是以一种“更智慧”的方法来改进工程各干系组织和岗位人员相互......
  • junit简单使用(入门)
    @目录......
  • Log4j入门使用(什么是日志? 为什么要使用1og4j)
    @目录......