java中String字符串
一、定义String字符串
String字符串和char字符不同,char使用单引号,只能表示一个字符,字符串就是一段文本。String是个类。这个类使用final修饰,所以这个类是不可以继承扩充和修改它的方法的。String类又特别常用,所以在对String对象进行初始化时,它可以不像其它对象一样,必须使用new关键字构造对象。Java提供了一种简化的特殊语法。
使用String对象存储字符串:
String s = "有志者事竟成";
当然我们也还是可以像以前使用new关键字的。
String s = new String("有志者事竟成");
二、String字符串的常用方法。
String类位于java.lang包中,java会默认的导入java.lang包,所以我们使用java.lang包的类时,不需要显示的import类,String类具有丰富的方法,其中比较常用的有:
计算字符串的长度
连接字符串
比较字符串
提取字符串
替换字符串
1、计算字符串的长度比较简单。代码如下:
String email = "abc@tom.com ";
System.out.println(email.length());
System.out.println(email.trim().length());
String abc="你好";
System.out.println(abc.length());
第一个输出是:13。
第二个输出是:11。
第三个输出是:2。
因为空格也算是字符串的长度,如果你不想计算前后的空格,也也可以使用trim()方法把前后的空格去了。在计算长度。第三个输出为2,可见java对中文的处理和英文也是一样计算的。并不存在一个中文等于两个英文符号的长度。
2、连接字符串。
连接字符串有两种方法:方法1:使用“+”。方法2:使用String类的concat()方法。代码如下:
System.out.println(email+"abc");
System.out.println(email.concat("abc"));
上面两个代码的输出都是一样的:
abc@tom.com abc abc@tom.com abc
3、比较字符串
字符串的比较方法有很多,如比较两个字符串是否相等,比较后返回值是个布尔值。
String email2="cc@tom.com";
if(email.equals(email2)){
System.out.println("相等");
}else{
System.out.println("不相等");
}
结果是不相等。
字符串的比较是提取每一个字符逐个比较的,如下图所示
而且这种比较是区分大小写的。所以
String str1 = "java";
String str2 = "Java";
System.out.println(str1.equals(str2));
返回为false,如果你想不区分大小写的比较,那么你可以使用不区分大小写的比较方法或者把字符转为为大写(也就可以小写)后再比较。
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println(str1.toLowerCase().equals(str2.toLowerCase()));
System.out.println(str1.toUpperCase().equals(str2.toUpperCase()));
我们还可以判断字符串是否已某个字符串结尾或者开头
System.out.println(email.startsWith("abc"));
System.out.println(email.endsWith("com"));
4、提取字符串
要提取字符串,我们首先得学会如何查询字符串。
注意下标也是从0开始的。
System.out.println(email.indexOf("a"));//从零开始,所以这里是0
System.out.println(email.indexOf("c"));//这个是2,从左到右找,返回第一个找到的。
System.out.println(email.indexOf("zz"));//找不到返回是-1
System.out.println(email.lastIndexOf("c"));//这个是8,从右到左找,返回第一个找到的。
下面是截取字符串
System.out.println(email.substring(3));//从第4个(包括第四个)开始截取到最后
System.out.println(email.substring(3, 5));
indexOf方法和substring方法经常一起使用,比如我们要截取@之后的所有字符串,我们可以结合这个两个。
System.out.println(email.substring(email.indexOf("@")+1));
5、替换字符串
例如我们可以把所有的字符串c换成字符串z
System.out.println(email.replace("c", "z"));
java中String字符串的更多相关文章
- JAVA中String(字符串)课堂总结
一:Java编译器中关于字符串自动优化 例子一: 源代码: public class StringPool { public static void main(String args[]) { Str ...
- Java中String字符串常量池总结
最近到广州某建站互联网公司面试,当时面试官问假设有两个字符串String a="abc",String b = "abc";问输出a==b是true还是fals ...
- java中String字符串的==解析
今天不知道怎么看了下string的==的问题,本身我觉得我这个水平去判断几个字符串相等还能出问题?呵呵,真的出了大问题,根本原因在于对java字节码的不了解. 首先,==运算符比较的是两个变量所指向的 ...
- Java中String字符串常量池
首先看一个例子,通过这个例子更能快速理解String常量池 public static void main(String[] args) { String a = "ab"; St ...
- java中String字符串的替换函数:replace与replaceAll的区别
例如有如下x的字符串 String x = "[kllkklk\\kk\\kllkk]";要将里面的“kk”替换为++,可以使用两种方法得到相同的结果 replace(CharSe ...
- Java中String字符串toString()、String.valueOf()、String强转、+ ""的区别
Object#toString(): Object object = getObject(); System.out.println(object.toString()); 在这种使用方法中,因为ja ...
- JAVA中String字符串比较equals()和equalsIgnoreCase()的区别
标签: equals和equalsIgnoreC 2012-11-11 16:03 65644人阅读 评论(0) 收藏 举报 分类: JAVA(3) 1.使用equals( )方法比较两个字符串是 ...
- Java中的字符串操作(比较String,StringBuiler和StringBuffer)
一.前言 刚开始学习Java时,作为只会C语言的小白,就为其中的字符串操作而感到震撼.相比之下,C语言在字节数组中保存一个结尾的\0去表示字符串,想实现字符串拼接,还需要调用strcpy库函数或者自己 ...
- java中string内存的相关知识点
(一):区别java内存中堆和栈: 1.栈:数据可以共享,存放基本数据类型和对象的引用,其中对象存放在堆中,对象的引用存放在栈中: 当在一段代码块定义一个变量时,就在栈中 为这个变量分配内存空间,当该 ...
随机推荐
- 华为企业级AS111-S,比较垃圾的地方
今天换了一个华为企业级AS111-S 路由器,比较垃圾的地方: 1. 网页管理界面是https,却用一个无效的证书,chrome直接不能访问,IE可以访问,但第一次登陆改密码的时候就出错了. 然后怎么 ...
- 集成学习-Majority Voting
认识 集成学习(Ensemble Methods), 首先是一种思想, 而非某种模型, 是一种 "群体决策" 的思想, 即对某一特定问题, 用多个模型来进行训练. 像常见的单个模型 ...
- PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件
PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用:http://fex.baidu.com/webuploader/gett ...
- JavaScript中数组去重汇总
1. 简单的去重方法,利用数组的indexOf下标属性来查询 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ func ...
- mysql在windows下安装(含客户端工具)
下载 http://dev.mysql.com/downloads/ 安装 在出现选择安装类型的窗口中,有“typical(默认)”.“Complete(完全)”.“Custom(用户自定义)”三个选 ...
- 微信公众平台iPhone版内测开始了
5月9日晚些时候自媒体人收到了微信公众平台iPhone版的内测邀请,微信公众平台iPhone版可在手机上写图文,快速查看并回复粉丝消息.留言和赞赏,新建群发.查看群发历史和今日数据,这些功能很实用了, ...
- 码云因为认证失败导致推送失败 生成 SSH 密钥对
- 洛谷P1230智力大冲浪 题解
题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...
- 第08组 Beta冲刺(4/5)
队名:955 组长博客:点这里! 作业博客:点这里! 组员情况 组员1(组长):庄锡荣 过去两天完成了哪些任务 文字/口头描述 ? 测试新功能中 展示GitHub当日代码/文档签入记录 接下来的计划 ...
- Linux tty驱动架构
Linux tty子系统包含:tty核心,tty线路规程和tty驱动.tty核心是对整个tty设备的抽象,对用户提供统一的接口,tty线路规程是对传输数据的格式化,tty驱动则是面向tty设备的硬件驱 ...