java中String xx xx_JAVA超级基础之String型字符串
字符串
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型字符串相关推荐
- java中String xx xx_Java 9 紧凑String改进[JEP 254]Java9新特性
在Java 8中,Java中的String由内部表示char[].每个char存储在内存中的2个字节中.oracle的JDK开发人员分析了大量客户端的应用程序堆转储,他们注意到大多数字符串只能使用拉丁 ...
- Java基础——深入理解Java中的多线程(超级详细,值得你看)
Java中的多线程 进程(process)是程序的一次执行过程,或是正在运行的有一个程序,或是正在运行的一个程序.是一个动态的过程:有它自身的产生.存在和消亡的过程.--生命周期. 线程(thread ...
- java 异或_Java之超级基础且实用的知识点
1月20日 今天是小编的寒假的第一天!忙碌家里的事忙了一上午~下午困着但是不学习会心里难受.(毕竟是立下了寒假Flag的人)然后就打开了电脑,我发现我这个人,生活中不洁癖,但学习上还是有点洁癖的,这不 ...
- java中override快捷键_【基础回溯1】面试又被 Java 基础难住了?推荐你看看这篇文章。...
本文已经收录自 https://github.com/Snailclimb/JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. ...
- stmt在java中的应用_JDBC技术基础总结转载,非原创
JDBC的全称是Java DataBase Connectivity,即Java数据库连接.它是一套行业标准的API,可以在Java应用程序中与关系型数据库建立连接,并执行相关操作,例如Oracle, ...
- java string hash变量_java基础(六)-----String性质深入解析
本文将讲解String的几个性质. 一.String的不可变性 对于初学者来说,很容易误认为String对象是可以改变的,特别是+链接时,对象似乎真的改变了.然而,String对象一经创建就不可以修改 ...
- 在java中在包com.db_java基础试题及其答案 (1)
java基础试题及其答案 (1) (16页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 1Java试题1)java程序中,main方法的格 ...
- java中循环语句_Java语法基础之循环结构语句详解
一.循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循 ...
- Java中利用MessageFormat对象实现类似C# string.Format方法格式化
我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...
最新文章
- 用Autofac替换.net core 内置容器
- 一行代码不用写,就可以训练、测试、使用模型,这个 star 量 1.5k 的项目帮你做到...
- 你未必知道的49个CSS知识点
- jvm classLoader 过程
- 辽宁地质工程职业学院计算机应用技术,辽宁地质工程职业学院10大好就业专业推荐...
- 论文浅尝 | 基于知识库的自然语言理解 02#
- 玩家可以输入辅助指令_最后生还者 第二部辅助功能详解 盲人玩家也能玩
- 洛谷——P2068 统计和
- SDUT 2766 小明传奇2
- Confluence 6 workbox 的位置
- windows 上网重新刷新IP
- 阿里云发布ET环境大脑 对抗雾霾、排污和自然灾害
- 极限学习机ELM回归预测及其MATLAB代码实现
- Windows编程之钩子程序
- django+layui图片上传(用户头像修改,实时预览)
- 黑马Python笔记3
- 【支付】——毕业设计中利用websocket做模拟支付
- Android马甲包
- 第5-2课:图的拓扑排序
- 新加坡企业是怎么做实名认证的?
热门文章
- OpenCV实现手指识别:只要在空中移动手指就可以弹钢琴!
- 前端版本升级(修改),俩种方法
- STM32 和 ESP8266连接机智云
- 本地缓存需要高时效性怎么办_唯品会三年,我只做了5件事,如今跳槽天猫拿下offer(Java岗)...
- 数据库牛人牛新庄的成长历程(转)
- 达晨与小米投的凌云光上市:市值153亿 为机器植入眼睛和大脑
- 基于SSM框架的体育用品商城购物系统
- SpringCloud之相关面试题
- 测试dali协议的软件,如何使用示波器分析DALI协议?
- CTR预估之FMs系列模型:FM/FFM/FwFM/FEFM