字符串

String类型(字符串类型==数据(char[])+操作(char[]中定义的方法))

功能:字符串常量是系统能够显示的任何文字信息,必须包含在双引号(””)之内。

1.字符串对象不变(对象引用名称和内存引用地址变,原本字符串在常量池中永远不变)

例如: String s1='123'; String s2='123'; String s2='12'+'3';(三者是同一个字符串)

2.当常量池中有相同的字面量时,我们会返回相同字面量对象的内存引用地址,如果没有才会创建(new String)

注:去池里面找有没有叫123的字符串 如果有就会把池中123的内存引用地址赋给s (直接定义在池中,new在堆中)

3.字面量和常量的运算是在编译期间进行的,变量运算是在运行期间运算的

注:字面量是String类型的实例.(实例本质就是一个对象 s=”张飞”; s=地址1 指向对象张飞)

语法:String str=[null] String:自定该变量类型为字符串类型

Str:任意有效的标识符,表示字符串变量的名称。

Null:初始化字符串的信息(字符串必须经过初始化才能使用,必须在双引号内)。

创建字符串的方法:

常规方法:String str = “XXXXXXXX”;

利用数组创建字符串:

1.用一个字符数组中的全部创建String

String(char a[]): char a{‘g’’o’’o’’d’}; 等同于 String s = new String(“good”);

String s = new String(a);

2.用一个字符数组中的一部分创建String

String(char a[],int offset,int length) offset表示开始截取的位置(0开始数)

length表示截取的长度(1开始数)

char a{‘s’’t’’u’’d’’e’’n’’t’}; 等同于 String s = new String(“uden”);

String s = new String(a,2,4);

连接字符串:+ (连接符):可实现连接多个字符串的功能,也可连接其他数据使用。

注:Java中一句相连的字符串不能分成两行书写。

eg:system.out.println(“xxxxxxxxxx

xxxxxxxx”);错误方法

system.out,println(“xxxxxx”+

“xxxxxxx”);正确

获取字符串信息:

1.获取字符串的长度

语法:str.length(); (返回的长度包括字符串中的空格符)

eg:String str = “we are student”;

int size = str.length(); 将str的长度赋值给int型变量 size。

2.字符串查找(索引位置):

IndexOf()方法:返回值为搜索的字符或字符串首次出现的位置。

语法:Str.indexOf();(需要搜索的字符串);

eg:string str =”we are family”:

int size = Str.indexOf(“a”); 返回值(索引位置)为1

last IndexOf()方法:返回值为搜索的字符或字符串最后一次出现的位置。

语法:Str.lastindexOf();(需要搜索的字符串);

eg:string str =”we are family”:

int size = Str.indexOf(“a”); 返回值为(索引位置)5

注:1.字符串的下标是从0开始的

2.如果没有符合条件的字符串,返回值为-1

3.如果搜索的字符串是空格,搜索内容不需要打空格 即int size = Str.indexOf();空着即可

获取指定索引位置的字符:

charAt()方法:

语法:str.charAt(int index);

eg:String str = “hello word”;

char mychar = str. charAt(5); 查看字符串str索引位置为5的字符,返回值为w

获取指定索引位置的字符串:

Substring方法:

1.Substring(int beginindex)从指定索引位置开始截取直到结束

语法:String str = “hello word”;

String substr = str.substring(3); 从索引位置为3的字符开始截取直到字符串结束

返回值为 lo word

2. Substring(int beginindex,int endindex)从指定索引位置开始截取到指定位置结束

语法:String str = “hello word”;

String substr = str.substring(3,7); 从索引位置为3的字符开始截取直到字符串结束

返回值为 lo w (不显示第7位,只显示到第6位)

去除前导和尾部空格(字符中间空格不去除只去除首尾空格)

语法:str.trim();

字符串替换:

语法:str.replace(char old char,char new char);str.replace(‘a’’A’); 将原字符串中a全部换成A

判断字符串的开始或结尾是否与要求一致(boolean输出结果)

Str.startsWith(“xx”); 判断字符串是否已xx开头

Str.endsWith(“xx”); 判断字符串是否已xx结尾

符合要求输出 true 不符合要求输出false

判断字符串是否相等(比较字符串内容,==比较的是内存引用地址是否相同)

equals()方法:

str.equals(String otherstr);(区分大小写)

str.equalslgnoreCase(String otherstr); (不区分大小写)

str和otherstr是两个字符串的标识符。输出也为true 或 false

按字典顺序比较两个字符串(比较基于字符串中各个字符的Unicode表)

str.compareTo (String otherstr );

字母大小写转换

将所有字符改到小写:str.tolowerCase();

将所有字符改到大写:str.toupperCase();str是要进行转换的字符串

字符串分割

功能:可以使字符串按指定的分割字符或分割字符串对内容进行分割。并将分割结果存放在字符数组中。

无分割次数:

str.split(String sign); sign为分割符 若果定义多个分隔符 用,逗号隔开。

eg:str.split(“a”,”b”); 此语句中分隔符为a和b

给定分割次数:

str.split(string sign,int limit):sign为分隔符 limit为分割次数

eg:str.split(“a”,2); 此语句中分隔符为a 分割两次 分割次数需要减1???

eg: String fenge = 'abc,def,ghi,jkl,mno'; 输出结果:abc

String[] fengehou = fenge.split(','); def

for(int i =0;iSystem.out.println(fengehou[i]); jkl

} mno

String[] fengehou1 = fenge.split(',', 2); 输出结果:abc

for(int i =0;iSystem.out.println(fengehou1[i]);

}

java中String xx xx_JAVA超级基础之String型字符串相关推荐

  1. java中String xx xx_Java 9 紧凑String改进[JEP 254]Java9新特性

    在Java 8中,Java中的String由内部表示char[].每个char存储在内存中的2个字节中.oracle的JDK开发人员分析了大量客户端的应用程序堆转储,他们注意到大多数字符串只能使用拉丁 ...

  2. Java基础——深入理解Java中的多线程(超级详细,值得你看)

    Java中的多线程 进程(process)是程序的一次执行过程,或是正在运行的有一个程序,或是正在运行的一个程序.是一个动态的过程:有它自身的产生.存在和消亡的过程.--生命周期. 线程(thread ...

  3. java 异或_Java之超级基础且实用的知识点

    1月20日 今天是小编的寒假的第一天!忙碌家里的事忙了一上午~下午困着但是不学习会心里难受.(毕竟是立下了寒假Flag的人)然后就打开了电脑,我发现我这个人,生活中不洁癖,但学习上还是有点洁癖的,这不 ...

  4. java中override快捷键_【基础回溯1】面试又被 Java 基础难住了?推荐你看看这篇文章。...

    本文已经收录自 https://github.com/Snailclimb/JavaGuide  (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. ...

  5. stmt在java中的应用_JDBC技术基础总结转载,非原创

    JDBC的全称是Java DataBase Connectivity,即Java数据库连接.它是一套行业标准的API,可以在Java应用程序中与关系型数据库建立连接,并执行相关操作,例如Oracle, ...

  6. java string hash变量_java基础(六)-----String性质深入解析

    本文将讲解String的几个性质. 一.String的不可变性 对于初学者来说,很容易误认为String对象是可以改变的,特别是+链接时,对象似乎真的改变了.然而,String对象一经创建就不可以修改 ...

  7. 在java中在包com.db_java基础试题及其答案 (1)

    java基础试题及其答案 (1) (16页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 1Java试题1)java程序中,main方法的格 ...

  8. java中循环语句_Java语法基础之循环结构语句详解

    一.循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循 ...

  9. Java中利用MessageFormat对象实现类似C# string.Format方法格式化

    我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...

最新文章

  1. 用Autofac替换.net core 内置容器
  2. 一行代码不用写,就可以训练、测试、使用模型,这个 star 量 1.5k 的项目帮你做到...
  3. 你未必知道的49个CSS知识点
  4. jvm classLoader 过程
  5. 辽宁地质工程职业学院计算机应用技术,辽宁地质工程职业学院10大好就业专业推荐...
  6. 论文浅尝 | 基于知识库的自然语言理解 02#
  7. 玩家可以输入辅助指令_最后生还者 第二部辅助功能详解 盲人玩家也能玩
  8. 洛谷——P2068 统计和
  9. SDUT 2766 小明传奇2
  10. Confluence 6 workbox 的位置
  11. windows 上网重新刷新IP
  12. 阿里云发布ET环境大脑 对抗雾霾、排污和自然灾害
  13. 极限学习机ELM回归预测及其MATLAB代码实现
  14. Windows编程之钩子程序
  15. django+layui图片上传(用户头像修改,实时预览)
  16. 黑马Python笔记3
  17. 【支付】——毕业设计中利用websocket做模拟支付
  18. Android马甲包
  19. 第5-2课:图的拓扑排序
  20. 新加坡企业是怎么做实名认证的?

热门文章

  1. OpenCV实现手指识别:只要在空中移动手指就可以弹钢琴!
  2. 前端版本升级(修改),俩种方法
  3. STM32 和 ESP8266连接机智云
  4. 本地缓存需要高时效性怎么办_唯品会三年,我只做了5件事,如今跳槽天猫拿下offer(Java岗)...
  5. 数据库牛人牛新庄的成长历程(转)
  6. 达晨与小米投的凌云光上市:市值153亿 为机器植入眼睛和大脑
  7. 基于SSM框架的体育用品商城购物系统
  8. SpringCloud之相关面试题
  9. 测试dali协议的软件,如何使用示波器分析DALI协议?
  10. CTR预估之FMs系列模型:FM/FFM/FwFM/FEFM