String、StringBuffer和StringBuilder

String修饰的是不可变的字符串,而StringBuffer和StringBuilder类的对象是可以被修改的。

StringBuffer和StringBuilder 类不同的是StringBuilder 是线程不安全的,但运行速度要比StringBuffer快(性能高);StringBuffer是线程安全的(性能低)。

字符串的定义

String str = "Hello";

//或

String Str2;

str2 = "Hello";

//或

String str3 = new String("Hello");

String str4 = new String(str3);

字符串拼接【concat()】

//加号(+)拼接

String str = "Hello ";

String str2 = "World";

System.out.println(str+str2);

//使用 concat() 方法

String str3 = "Hello";

str3 = str3.concat(" World");

str3 = str3.concat(" 你好");

System.out.println(str3);

字符串长度【length()】

String str = "Hello";

int str_len = str.length(); // 获取字符串长度

System.out.println(str_len);

大小写转换

String str = "Hello World";

System.out.println(str.toLowerCase()); //转换成小写,结果为:hello world

System.out.println(str.toUpperCase()); //转换成大写,结果为:HELLO WORLD

去空格【trim()】

String str = " Hello ";

String trim = str.trim();

System.out.println(trim); //"Hello"

System.out.println(str.length()); //9

System.out.println(trim.length()); //5

字符串截取【substring()】

注意:substring():截取字符串时不是按照字符索引来截取的,而是按字符来截取的。

substring(int beginIndex,int endIndex):beginIndex(起始索引),endIndex(结束索引)。

(截取长度不能超出字符串长度范围)

String str = "Hello World";

String str_sub1 = str.substring(7);

String str_sub2 = str.substring(2,9);

System.out.println(str_sub1); //orld

System.out.println(str_sub2); //llo wor

字符串分隔【split()】

String str = "Hello,World";

String[] split = str.split(","); //split("指定的分隔符");

for(int i = 0;i

System.out.println("字符串分割后为:n" + split[i]);

}

字符串替换【replace()】

replace() 方法用于将目标字符串中的指定字符(串)替换成新的字符(串)。

replaceFirst() 方法用于将目标字符串中所指定的字符串的第一个子字符串替换成新的字符串。

replaceAll() 方法用于将目标字符串中所指定的字符串的所有子字符串替换成新的字符串。

String str = "Hello world,Hello java";

String replace = str.replace("w","W"); //replace("被替换的字符(串)","替换的字符(串)");

String replaceFirst = str.replaceFirst("Hello","你好");

String replaceAll = str.replaceAll("Hello","你好");

System.out.println(replace); // Hello World,Hello java

System.out.println(replaceFirst); // 你好 world,Hello java

System.out.println(replaceAll); // 你好 world,你好 java

字符串的比较【equals()】

equals() 方法将两个字符串逐个地进行比较,看每个字符是否相同;相同为true,不同为false。(区分大小写)【常用】

equalsIgnoreCase() 与equals()方法相同,但不区分大小写。

compareTo() 方法基于字符串的Unicode值进行比较(做减法运算)。(如下:“A”的Unicode值为97,“a”的Unicode值为65,故str1.compareTo(str)等于32)

String str1="abc";

String str2=new String("abc");

String str3="ABC";

System.out.println(str1.equals(str2)); // true

System.out.println(str1.equals(str3)); // false

System.out.println(str1.equalsIgnoreCase(str2)); // true

String str="A";

String str1="a";

System.out.println("str1.compareTo(str)的结果是:"+str1.compareTo(str)); // 32

System.out.println("str1.compareTo('a')的结果是:"+str1.compareTo("a")); // 0

字符串查找

根据字符查找

indexOf() 方法用于返回字符(串)在指定字符串中首次出现的索引位置,如果能找到,则返回索引值,否则返回 -1。

lastIndexOf()方法用于返回字符(串)在指定字符串中最后一次出现的索引位置,如果能找到则返回索引值,否则返回 -1。

注意:

indexOf() 方法的查找策略是从左往右查找,如果不指定起始索引,则默认从字符串的开头开始查找。

lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字符串的末尾开始查找。

String str = "Hello World,Hello java";

System.out.println(str.indexOf("e")); // 1 (查找"e"在字符串中第一次出现的位置)

System.out.println(str.indexOf("e",6)); // 13 (从左往右查找,从索引为6开始查找"e"的位置)

System.out.println(str.lastIndexOf("e")); // 13 (查找"e"在字符串中最后出现的位置)

System.out.println(str.lastIndexOf("e",6)); // 1 (从右往左查找,从索引为6开始查找"e"的位置)

根据索引查找【charAt()】

String str = "Hello World";

System.out.println(str.charAt(6)); // w (查找索引为6的字符)

内容来源于网络如有侵权请私信删除

java的字符定义_Java字符串定义及常用方法相关推荐

  1. c语言中大写英文字母所占字节,Java中字符编码和字符串所占字节数 .

    首 先,java中的一个char是2个字节.java采用unicode,2个字节来表示一个字符,这点与C语言中不同,C语言中采用ASCII,在大多数 系统中,一个char通常占1个字节,但是在0~12 ...

  2. java字符串定义_java字符串基本概念

    java字符串基本概念 那随意了 • 2020 年 02 月 23 日 字符串字符串本质是一个char类型的数组 private final char value[] //底层的实现代码 不可变字符串 ...

  3. java返回字符数组_JAVA语言实现随机返回字符串数组中的字符串

    本文主要向大家介绍了JAVA语言实现随机返回字符串数组中的字符串,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. //随机返回字符串数组中的字符串 public static Stri ...

  4. python字符串怎么定义_Python 字符串定义

    2009 例如:'string'."string"."""string"""或者是'''string'''. 在使用上, ...

  5. java utf-8字符表_Java中的ASCII、Unicode和UTF-8字符编码集

    首先讲一下几种字符的编码方式: 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态 ...

  6. java中字符数组和字符串的相互转换

    Java中String类很强大,好好学习它,对初学者很重要. 字符串和字符数组的转换是很常见的,请看下面代码. [java] view plaincopy char[]   a={ 'a ', 'b  ...

  7. Java中字符数组转换为字符串

    java可以使用两种方法直接将字符数组转为字符串 方法1:直接在构造String时转换. char[] data = {'a', 'b', 'c'}; String str = new String( ...

  8. java产生字符函数_java生成字符串md5函数类(javaSE)

    //实现生成MD5值 import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.B ...

  9. java数组的声明_Java数组定义常用方法

    Java数组定义常用方法 Java中的数组.是一种简单的线性数据存储结构.他用牺牲自动扩展大小来换取与集合相比的唯一优势--查询效率的提升.Java中的数组有什么类型?我们要怎么定义这些数组呢?下面跟 ...

最新文章

  1. java struts2 表达式语言 ognl 简介
  2. 皮一皮:男生的求生欲,以及神回复...
  3. 解决复制虚拟机时候网络不从eth0开始问题
  4. 速卖通开店条件和流程最新版
  5. servlet解决javascript传来中文乱码问题
  6. hadoop(3)——yarn查看方式
  7. 《Go 语言编程之旅》送煎架和站长写的书
  8. 基本算法研究1-冒泡排序算法测试
  9. 转载--SQL还原数据库后孤立用户问题处理(SQL 数据库 拥有对象 无法删除)
  10. 2029.石子游戏 IX-LeetCode
  11. 华为hcnp认证考试已过
  12. error: command 'gcc' failed with exit status 1
  13. ip xfrm命令是做什么的?
  14. ubuntu安装 ssh server
  15. 单片机烧写一次后,就连不上单片机了的一种可能原因分享
  16. feifeicms 人物标签调用
  17. 谷歌浏览器插件 - 为 Microsoft Bing 搜索引擎首页添加一个【保存背景图片】的按钮(版本 2)
  18. Linux开放8080端口,防火墙开启/关闭/重启
  19. win环境20分钟搭建php+sql服务器Apache+php+mysql在windows下的安装与
  20. TCP协议RST:RST介绍、什么时候发送RST包

热门文章

  1. 【BZOJ3049】Island Travels,SPFA预处理+状态压缩DP
  2. 论文笔记 - 《Very Deep Convolutional Networks For Large-Scale Image Recognition》 精典
  3. linux 内容替换 注释,为让 Linux 代码注释更加和谐 有人提议用“拥抱”替换 F**k...
  4. 2017.3.14 不重复数字 思考记录
  5. 【Python】Python3.7.3 - sys.flag 命令行选项标志结构序列
  6. Intel 64/x86_64/IA-32/x86处理器 - 指令格式(5) - 8086/16位指令寻址字节
  7. android获取程序名称,Android获取应用程序名称(ApplicationName)示例
  8. 程序员表白代码python_程序员python表白代码
  9. Verlet integration (Verlet 积分法)
  10. 字符串比较中NSNumericSearch选项的工作原理