字符串的学习
1> “==”与“equals”的区别
“==”判断的是两个字符串对象在内存中的首地址,就是判断是否是同一个字符串对象;
而equals()判断的是两个字符串对象的值。
2> 字符串的连接(concat >>> 等同于“+”的作用)
String s1= new String("你好,");
String s2= new String("张三");
String s3= s1.concat(s2); >>>>> concat用于字符串的连接
System.out.println(s3); >>>>>输出结果为:你好,张三
3> 字符串的提取和查询
(1)indexOf() (0开始,值是从前往后数)
例如:String s = "我是谁谁是我";
0 1 2 3 4 5
int index = s.indexOf('是'); >>>> 打印index结果为:1;
(2)lastIndexOf() (0开始,值是 从前 往后 数)
例如:String s = "我是谁谁是我";
0 1 2 3 4 5
int index = s.lastIndexOf('是'); >>>> 打印index结果为:4;
(3)substring(int index) (0开始提取,从index开始<= 提取的字符串 <=最后)
例如:String s = "我是谁谁是我";
0 1 2 3 4 5
String index = s.substring(1); >>>> 打印index结果为:是谁谁是我;
(4)substring(int beginIndex,int endIndex) (0开始提取,从index开始<= 提取的字符串 <最后)
例如:String s = "我是谁谁是我";
0 1 2 3 4 5
String index = s.substring(1,5); >>>> 打印index结果为:是谁谁是; >>>>也就是说最后一个字符不打印!!
4> 字符串的拆分
String words = "我 是 谁 我";
String[] print = new String[5]; 或者为: String[] print = null;也可以出结果
print = words.split(" ");
for (String string : print) {
System.out.println(string);
}
结果显示:我 n 是 n 谁 n 我 (n 表示换行了)
split(".")中不能为“ . ”,不然会没效果!!!
api的原文解释如下: split public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 返回: 字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的 . 任何字符(与行结束符可能匹配也可能不匹配) ???这牵扯到正则表达式。在正则表达式里。“。”代表任意字符,意思就是你现在相当于用任意字符对 字符串分割。应该用“\.”才对 String words = "我.是.谁.我"; String[] print = new String[5]; //语法 字符串名.split(String separator, int Limit); int Limit可省略不写 //返回的字符串数组的元素个数由Sting字符串的分隔符的个数决定 print = words.split("\."); >>>>> 如果是这一句,输出结果显示:我 n 是 n 谁 n 我 (n 表示换行了) //返回的字符串数组的元素个数由Limit(用来限制返回数组中的元素个数的)的大小决定决定 print = words.split("\.",3); >>>>> 如果是这一句,输出结果显示:我 n 是 n 谁我 (n 表示换行了) for (String string : print) { System.out.println(string); } 总结:完美运行!学习这东西需要多尝试,多讨论,多学习,这样进步空间才会很大!
5>StringBuffer类
StringBuffer sb = new StringBuffer("我是谁");
(1)字符串(sb).toString(); >>>>转换为String类型
String s = sb.toString();
(2)字符串(sb).append("要添加的字符串"); >>>>转换为String类型
StringBuffer sb1 = sb.append(“谁是我”); >>>>> sb1结果:我是谁谁是我
StringBuffer sb2 = sb1.append(“谁是我”); >>>>> sb2结果:我是谁谁是我谁是我
(3)字符串(sb).insert(位置>>>int类型,参数>>>没规定类型);
StringBuffer sb = new StringBuffer("我是谁");
sb.insert(1,4); System.out.println(sb); >>>>> sb结果:我4是谁;
sb.insert(1,“_”); System.out.println(sb); >>>>> sb结果:我_是谁;
for (int i = sb.length()-1; i >0; i--)
{
sb.insert(i, ".");
} >>>>> sb结果:我.是.谁;
- Logback 简明使用手册
- Python编写渗透工具学习笔记一 | 0x06 Zip包破解程序
- Java 并发排序
- Python编写渗透工具学习笔记一 | 0x07 Python实现键盘记录器
- Python编写渗透工具学习笔记一 | 0x08字典生成程序
- 漫步VR——Unity语音聊天室开发
- Python编写渗透工具学习笔记一 | 0x01 目录扫描程序
- JDK容器学习之HashMap (一) : 底层存储结构分析
- Python编写渗透工具学习笔记一 | 0x02实现一个反弹shell
- 动手实现MVC: 1. Java 扫描并加载包路径下class文件
- 动手实现MVC: 2. bean加载, IoC依赖注入
- Python编写渗透工具学习笔记一 | 0x04 nmap实现端口扫描(准确性更高)
- spring-boot & ffmpeg 搭建一个音频转码服务
- java 实现二维码生成工具类
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux中git用https连接时不用每次输入密码的方法
- Centos7.3 RabbitMQ分布式集群搭建示例
- Ubuntu16.04环境下搭建FTP服务器的教程
- Linux 查看空间使用情况的实例详解
- CentOS 6.8 安装vsftpd的方法步骤
- centos7下搭建ZooKeeper3.4中间件常用命令小结
- Linux性能测试 pmap命令详解
- Linux7.7设置交换分区SWAP的方法
- 在Linux里安装和启动nginx的方法
- Linux下如何对ISO文件编辑的方法示例
- Linux中创建新用户并赋予指定目录的相关权限
- Linux服务器下安装配置Nginx的教程
- Linux文件目录结构(小白版)
- 基于Linux中vnc配置端口号的修改方法
- Linux下安装grafana并且添加influxdb监控的方法