Java-String的API

news2024/12/28 19:02:02

一、length()

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s;
         s = sc.nextLine();
         
         System.out.println(s.length());
    }
}

二、split()

作用:以某种形式(如空格” “)分割字符串,形成字符串数组,例如字符串s = “Hello String abc”在split()之后,会变成字符串数组str,str[0] =Hello 、str[1] = String、str[2] = abc;

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = sc.nextLine();
         String str[] = s.split(" ");
         
         for(int i = 0 ; i < str.length ; i ++)  System.out.printf("%s ",str[i]);
    }
}

简化代码:(输入的时候就用上split(“  ”),简化代码)

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s[] = sc.next().split(" ");
         
         for(int i = 0 ; i < s.length ; i ++)  System.out.printf("%s ",s[i]);
    }
}

三、indexOf( )、lastIndexOf( )

没有出现过的话,这些函数的返回值都是-1

  1. s.indexOf('l')

作用:查找字符l在字符串s中第一次出现的下标

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello World";
         
         System.out.println(s.indexOf('l'));
    }
}

  1. s.indexOf("llo")

作用:查找子串"llo"的首字母在字符串s中第一次出现的下标

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello World";
         
         System.out.println(s.indexOf("llo"));
    }
}

3、s.lastIndexOf('l')

作用:查找字符l在字符串s中最后一次出现的下标

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello World";
         
         System.out.println(s.lastIndexOf('l'));
    }
}

4、s.lastIndexOf("or")

作用:查找字符串"or"在字符串s中最后一次出现的首元素的下标

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello Wororld";
         
         System.out.println(s.lastIndexOf("or"));
    }
}

四、equals( )

作用:比较两个字符串是否相等

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s1 = "Hello World";
         String s2 = "Hello World";
         
         if(s1.equals(s2) == true)  System.out.println("相等");
         else System.out.println("不相等");
    }
}

五、compareTo( )

作用:比较两个字符串大小(字典序比较)

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s1 = "Hello World";
         String s2 = "Hello World";
         
         if(s1.compareTo(s2) < 0)  System.out.println("s1 < s2");
         else if(s1.compareTo(s2) == 0)  System.out.println("s1 == s2");
         else  System.out.println("s1 > s2");
    }
}

六、startsWith( )、endsWith( )

1、s1.startsWith(s2)

作用:判断s1是否以前缀s2开头

          是返回true,不是返回false

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s1 = "Hello World";
         String s2 = "Hel";
         
         if(s1.startsWith(s2) == true)  System.out.println("s2是s1的前缀");
         else  System.out.println("s2不是s1的前缀");
    }
}

2、s1.endsWith(s2)

作用:判断s1是否以后缀s2结尾

          是返回true,不是返回false

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s1 = "Hello World";
         String s2 = "rld";
         
         if(s1.endsWith(s2) == true)  System.out.println("s2是s1的后缀");
         else  System.out.println("s2不是s1的后缀");
    }
}

七、toLowerCase()、toUpperCase()

  1. s.toLowerCase()

作用:将字符串s的所有大写字母转换成小写字母,并返回该串

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello World";
         
         s = s.toLowerCase();
         
         System.out.println(s);
    }
}

2、s.toUpperCase()

作用:将字符串s的所有小写字母转换成大写字母,并返回该串

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello World";
         
         s = s.toUpperCase();
         
         System.out.println(s);
    }
}

八、replace(char oldChar, char newChar)

作用:替换字符或者字符串

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s1 = "Hello World";
         String s2 = "Hello World";
         
         s1 = s1.replace('H','a');
         s2 = s2.replace("He","ab");
         
         System.out.println(s1);
         System.out.println(s2);
    }
}

九、substring(int beginIndex, int endIndex)

作用:返回[beginIndex, endIndex)中的子串(注意细节,右边开区间,注意大一位)

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello World";
         s = s.substring(0,4);
         
         System.out.println(s);
    }
}

十、toCharArray()

作用:将字符串转化成字符数组(注意,字符串转成字符数组char a[]才能使用增强for循环)

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         String s = "Hello World";
         char a[] = s.toCharArray();
         
         for(int x:a)  System.out.printf("%c ",x);
    }
}

十一、StringBuilder、StringBuffer

String虽然可以添加是不能被修改,如果打算修改字符串,可以使用StringBuilder和StringBuffer。

StringBuffer线程安全,速度较慢;StringBuilder线程不安全,速度较快。

1、StringBuilder的append( ):(字符串拼接)----在原串操作,不需要返回字串

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         StringBuilder s = new StringBuilder("Hello");
         s.append(" World");
         
         System.out.println(s);
    }
}

  1. StringBuilder的setCharAt( );   ----在原串操作,不需要返回字串

setCharAt(i,'a')作用:将字符串中i位置上的字符改成字符'a';

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         StringBuilder s = new StringBuilder("Hello");
         
         for(int i = 0 ; i < s.length() ; i ++)  s.setCharAt(i, (char)(s.charAt(i) + 1));
         
         System.out.println(s);
    }
}

  1. StringBuilder的reverse()----在原串操作,不需要返回字串

作用:翻转字符串

package 做题;
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Scanner;

import javax.naming.StringRefAddr;

public class Main 
{
    public static void main(String[] args) 
    {
         Scanner sc = new Scanner(System.in);
         final int N = 10;
         
         StringBuilder s = new StringBuilder("Hello World");
       
         s.reverse();
         
         System.out.println(s);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ZeroTierr的moon云服务器搭建和使用

搭建moon 问题是ZeroTier One本身的服务器都在国外访问速度很慢。可以通过搭建国内Moon服务加速解决连接慢的问题。 1、 进入云服务器在线安装zerotier curl -s https://install.zerotier.com/ | sudo bash查看安装zerotier版本 sudo zerotier-cli status安装完成后生成moon…

从0到1完成一个Vue后台管理项目(二十二、列表拖拽排序SortableJS)

往期 从0到1完成一个Vue后台管理项目&#xff08;一、创建项目&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;二、使用element-ui&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;三、使用SCSS/LESS&#xff0c;安装图标库&#xff09; 从0到1完成一个Vu…

Python WebGL 3D应用开发快速入门

在本文中&#xff0c;我们将学习如何在Python中使用three.js库&#xff0c;而无需编写任何一行 JavaScript。我们将使用PyWeb3D&#xff0c;这是一个额外的层&#xff0c;旨在与Brython的three.js轻松交互。 1、什么是PyWeb3D&#xff1f; 简单地说&#xff0c;PyWeb3D是一个…

现代JavaScript,你应该使用的10件事

javascripttip&#xff08;3 部分系列&#xff09;1现代 JavaScript&#xff0c;你应该使用的 10 件事&#xff0c;从今天开始2了解如何在 JavaScript 中使用循环3如何在 JavaScript 中学习足够多的 RegEx 才能变得危险您可能对 JavaScript 完全陌生&#xff0c;也可能多年来只…

文件学习笔记

删除线格式 ## 文件描述符 1.文件文件内容文件属性。 2.文件操作文件内容的操作文件属性的操作。 3.所谓的“打开”文件&#xff0c;是指将文件的属性或内容加载到内存中—这是由冯诺依曼决定。 4.所以文件不全打开&#xff0c;不打开的文件放在磁盘存储。 5.内存文件&#xff…

在线教育-谷粒学院学习笔记(三)

文章目录1 搭建前端项目环境2 前端页面框架介绍3 讲师管理前端开发4 后台系统登录功能改造到本地5 前端框架开发过程6 讲师列表前端实现7 讲师分页前端实现8 讲师条件查询前端实现9 讲师删除功能前端实现10 讲师添加前端实现11 讲师修改前端实现12 前端路由切换问题解决1 搭建前…

Linux工具学习之【gdb】

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f38a;每篇一句&#xff1a; 图片来源 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 Whatever is worth doing is worth doing well. 任何值得去做的事情&#xff0…

【HTML】一款可交互的响应式登陆注册表单,你确定不来看看嘛(附源码)

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后…

2022年五一杯数学建模C题火灾报警系统问题求解全过程论文及程序

2022年五一杯数学建模 C题 火灾报警系统问题 原题再现&#xff1a; 二十世纪90年代以来&#xff0c;我国火灾探测报警产业化发展非常迅猛&#xff0c;从事火灾探测报警产品生产的企业已超过100家&#xff0c;年产值达几十亿元&#xff0c;已经成为我国高新技术产业的一个组成…

Docker之Nginx部署前端项目

目录 创建nginx容器 nginx.conf讲解 ①所有配置必须以“;”结尾 ②nginx发布java项目 nginx发布静态vue项目 nginxtomcat实现反向代理及均衡 nginxhtml静态服务器 创建nginx容器 docker run –name mynginx -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/ngin…

6款强烈推荐的 SD卡/内存卡数据恢复软件

SD卡/内存卡在 21 世纪的作用比以往任何时候都更加重要。众所周知&#xff0c;SD卡/内存卡具有高数据传输率并且是便携式设备&#xff0c;大多数摄影师甚至智能手机用户主要依靠它们来保存所有个人或项目照片和视频。此外&#xff0c;SD 卡还因其与各种设备的兼容性而广受欢迎。…

JUC并发编程学习笔记——AQS个人理解

1. AQS引出 1.1 前置知识&#xff1a; 线程创建的四种方式&#xff1a;Thread、Runnable、callable、线程池 LockSupport的使用&#xff1a;park()和unpark()方法 LockSupport是一个工具类&#xff0c; 提供了基本的线程阻塞和唤醒功能&#xff0c;它是创建锁和其他同步组件的…

使用 NVIDIA NeuralVDB优化大规模稀疏

使用 NVIDIA NeuralVDB优化大规模稀疏 基于 OpenVDB 过去十年的发展&#xff0c;NVIDIA NeuralVDB 的推出对于处理极其庞大和复杂的数据集的开发人员和研究人员来说是一个游戏规则的改变者。 NVIDIA NeuralVDB 的预发布版本为 OpenVDB 带来了 AI 和 GPU 优化&#xff0c;将烟雾…

【OpenCV】:OpenCV人脸识别项目杂记

项目目标&#xff1a; 1.图片人脸识别 2.视频人脸识别 3.ESP32Cam摄像头网页视频人脸识别 项目效果视频&#xff1a; ESP32Cam摄像头人脸识别OpenCV本地视频人脸识别ESP32Cam摄像头人脸检测项目基础代码内容&#xff1a; 一、读取图片 # 导入cv模块 import cv2 as cv# 读取图…

如何设置Excel表格以“只读模式“打开

设置Excel表格以“只读模式”打开&#xff0c;可以防止意外修改表格内容&#xff0c;因为“只读模式”下的Excel无法直接保存&#xff0c;这样就不用担心表格意外修改&#xff0c;关闭时又不小心保存了。 这个模式我们可以通过“另存为”的方法来设置。 打开Excel表格后&…

【学习笔记之Linux】工具之gcc/g++

背景知识&#xff1a; gcc/g是一个编译器&#xff0c;注意区分编译器和编辑器&#xff0c;vim是是编辑器。简单的说&#xff0c;编辑器是我们敲代码的工具&#xff0c;我们在编辑器上写出我们需要实现的功能&#xff1b;编译器负责实现功能&#xff0c;把我们写的高级语言编译成…

马蹄集 古人的剩余定理

古人的剩余定理 难度&#xff1a;白银 ©时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 今有物不知其数&#xff0c; 三三数之剩二&#xff0c; 五五数之剩三&#xff0c; 七七数之剩二。 问物最少几何&#xff1f; #include <bits/stdc.h> using nam…

使用Paddle飞桨重写波士顿房价预测案例

1.Paddle飞桨设计之“道” 当读者使用飞桨框架编写多个深度学习模型后&#xff0c;会发现程序呈现出“八股文”的形态。即不同的程序员、使用不同模型、解决不同任务的时候&#xff0c;他们编写的建模程序是极其相似的。虽然这些设计在某些“极客”的眼里缺乏精彩&#xff0c;…

XJar加密工具java打的包jar包加密运行,防止反编译

XJar功能特性 基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动&#xff0c;动态解密运行的方案&#xff0c;避免源码泄露以及反编译。支持Maven插件加密过程需要Go环境&#xff1b;加密后生成Go启动器&#xff0c;保护密码不泄露GitHub: GitHub - core-l…

JSP SSM网上预约挂号系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSPSSM网上预约挂号系统 是一套完善的系统源码&#xff0c;对理解JSP java SrpingMVC mybiats 框架 MVC编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;以及相应配套的设计文档 &#xff0c;系统主要采用B/S模式开发。研究的基本内容…