重点速览
- 数组变量是数组的管理者;字符串同理
- foreach循环并不能改变原数组(或其他容器)中元素的值
- foreach循环不能遍历字符串
- Java无法直接修改字符串
数组是一种容器,其中,
- 所有元素类型相同
- 大小不可改变
定义数组变量
- 元素个数必须给出,可以是变量
- 或直接用{}给出所有的元素
数组变量与普通变量的区别
- 普通变量:对数据是所有者,如i=10整型数i拥有一个值10
- 数组变量:对数组是管理者,数组名是指向某处一个真实数组的指针,如定义数组a=数组b 表示a和b指向同一处空间,会同步变化
关于管理者
- 数组变量是数组的管理者;数组必须创建出来给数组变量管理
- 数组变量的赋值是管理权的赋予
- 数组变量的比较是比较其是否指向同一个数组,而不是数组的元素是否相同
因此复制数组必须遍历所有元素
★foreach循环并不能改变原数组中元素的值
包裹类型
- Integer、Character...与Java的基本类型相对应
- 可用于获得某个类型的最大最小值
- 善用包裹类型的点运算符,如Character.toLowerCase
String
- String是一个类
- 和数组类似,
- String的变量是对象的管理者而非所有者
- a==b仅在判断两个指针是否指向同一个字符串;而a.equals(b)是比较它们的内容
String s = new String("a string");
- 用"a string"初始化这个对象
- 创建管理这个对象的String变量s
- 让s管理这个对象
★用"+"连接字符串时,会全部当作字符串进行操作
in.next() |
用于单词的输入,以空格和Tab分割 |
in.nextLine() | 用于一整行的输入 |
★foreach不能完成对字符串的遍历,因为字符串不是可枚举类型
»遍历方法:str.charAt(i)
很多字符串并不改变原字符串(Java没有方法可以直接修改字符串),而是制造出一个新的字符串;若需要对字符串频繁操作,可使用StringBuffer类型存放