* -》是一种循环的结构
* 作用:快速遍历容器(数组,list,set...)里的所有元素
* 语法:
* for(元素类型 接收变量名 :容器(数组)对象){
* //处理遍历到元素的业务代码
* }
2.遍历数组-设置所有数组位置的新的元素内容
* 1)普通for-可以实现
* 2)增强for-不能实现
3.对比
* a)普通for-》代码复杂,可以访问下标
* b)增强for-》代码简洁,不能访问下标
4.可变参数类型
* 1)是一种特殊的数据类型
* 2)该类型只能拥有参数的类型
* 3)该类型相当于数组类型
* 4)每一个方法只能定义一个可变参数类型,必须是最后一个
*
* 语法: 数组元素类型 ... 可变参数名
*
* 使用
* 1)调用的时候给可变参数类型赋值
* a)传数组
* b)传数组元素逗号分割
*
* 2)方法内使用可变参数类型--》就是当作数组使用
*/
/**
* 1)调用的时候给可变参数类型赋值
5.jdk的字符串
*
b)String类
其对象表示的字符串不能改变,内部存储数据的char数组是final的!!
c)StringBuilder类
其对象表示的字符串可以改变,内部存储数据的char数组不是final的!!
线程不安全 效率高。
d)StringBuffer类
其对象表示的字符串可以改变,内部存储数据的char数组不是final的!!
线程安全 效率相对StringBuilder略低。
6. String不可变字符串:自身操作都会创建新的字符串对象返回
* StringBuilder和buffer可变字符串:自身操作都会直接改变自身的内容
7.String和Stringbuilder的转换
* -》需要使用对方的api可以转换再使用
*
* a)String ->Stringbuilder
* StringBuilder(String str)
* b)Stringbuilder -》String
* toString
8.StringBuillder和buffer常用api
*
1)append 追加
2)delete 删除
3)insert 插入
4)replace 替换
5)reverse 反转
9. String 常用api
*
* boolean startsWith(String) 是否以某字符串开始
boolean endsWith(String) 是否以某字符串结束
boolean contains(String); 查找子字符串在原字符串是否存在
int length 字符串长度
public char charAt(int index) 字符串某个下标位置的字符
boolean equals(Object); 比较内容
boolean equalsIgnoreCase(String) 比较内容,不区分大小写
String subString(int beginIndex) 从某个位置开始截取后面字符串直到结束
int indexOf(String) 查找子字符串在原字符串的位置,没有就返回-1
String replaceAll(String regex, String replacement) 替换所有匹配字符串
String replaceFirst(String regex, String replacement) 替换第一个匹配字符串
String trim() 去除左右
String toLowerCase(); 转小写
String toUpperCase(); 转大写