一、数组
- 除基本类型外,数组变量都可看做其引用;传递参数是,基本类型是按值传递,而数组是按其引用传递的
- 堆用于动态内存分配
- 变长参数
- 类型相同但个数可变
- 方法中的参数声明:typeName… parameterName
- 只能给方法中指定一个可变长参数,同时该参数必须是最后一个参数
- Array类
- sort或parallelSort方法:对数组排序
- equals方法:判断两个数组是否相等
- fill方法:填充整个数组或部分数组
- toString方法:返回一个字符串;数组调用为该数组的所有元素
- 二维数组中的每一行本身就是一个数组,因此,各行的长度可以不同
二、对象和类
- 同一文件中(.java)至多能有一个公共类,该公共类(含main方法)与文件名同名
- 类数据成员的默认值
- 引用类型数据域:null
- 引用类型变量:字符串、数组、对象;存储的是地址
- 数值类型数据域:0
- boolean类型数据域:false
- char类型数据域:’\u0000’
- 成员方法中的变量没有默认值
- new分配了内存是有默认值的,如String s=new String();
- 如果不需要某对象,可以将该对象置空,等待Java虚拟机自动回收
- 成员常量应声明为final static
- 类修饰
- public:可被任何类访问
- 默认类:可被同一个包中的任何一个类访问
- 对象作为参数传递:按引用传递
- 类的关系
- 依赖:一个类A使用到了类B,类A受类B影响
- 关联:两个类相关,关联体现的是两个类之间语义级别的一种强依赖关系;可是单向,也可是双向。
- 在UML类图设计中,关联关系用由关联类A指向被关联类B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记。下图为单向关联:
- 聚集:是关联的一种特殊形式,整体与部分可分离,代表了两个对象的之间的归属关系
- 组合:也是关联的一种特殊形式,整体与部分是不可分的;整体的生命周期结束也就意味着部分的生命周期结束,即一个对象只归属于一个聚集对象(聚集对象是指该对象对应的类有其他类的成员)
- 继承(泛化)
- 实现
三、常见内置类型
- 将基本数据类型包装成对象:java.lang包
- boolean:Boolean类
- char:Character类
- double:Double类
- float:Float类
- byte:Btye类
- short:Short类
- int:Integer类
- long:Long类
【】数值包装类
- 都含有xxxValue方法(xxx表示对应类型):变为数值
- compareTo方法:比较大小
- valueOf(x):创建一个新对象
- parseXxx方法(第一个X大写,Xxx为对应类型):字符串数值转换为对应类型的数值
【】可用数值或包含在双引号的数值来构建包装类:
new Double(5.0)
或
new Double(“5.0”)
【】
Float
、
Double
类:
MIN_VALUE
表示最小值
- 允许基本类型和包装类类型之间互相转换
- BIgInteger类和BigDecimal类
- 可表示非常大的数或高精度浮点值的计算
- 方法:add、subtract、multiple、divide、remainder(余)
- String类对象:一旦创建,内容不可改变
- 可用字符串直接量或字符数组创建一个字符串对象
- 具有相同字符序列的字符串直接量使用同一实例
- 替换或分隔字符串
replace(oldChar: char,newChar:char)
|
所有匹配的字符替换成新的字符
|
replaceFirst(oldString:string,newString:string)
|
第一个匹配的子字符串替换成新的子字符串
|
replaceAll(oldString:string,newString:string)
|
所有匹配的子字符串替换成新的子字符串
|
split(delimiter:string)
|
返回一个字符串数组,其中包含被分隔的子字符串
|
- 匹配
- matches方法:被匹配的目标字符串.matches(匹配模式字符串)
- .*:0个或多个字符
- \\d:单个数字
- \\d{n}:n个数字
- []:括号中任一个
- 字符串与数组之间可相互转换
toCharArray()
|
转换为字符数组
|
getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
|
下标从
srcBegin
到
srcEnd-1
的子串复制到字符数组
dst
中下标从
dstBegin
开始的位置
|
String(char[])
或
valueOf(char[])
|
字符数组转换为字符串
|
- 格式化字符串:format方法
- StringBuilder和StringBuffer类
- 类似于Stirng类,但可以添加、插入或追加新的内容
- StringBuffer类适用于多任务并发访问:线程安全
- StringBuilder类的方法
- 构造:三个构造重载
- append方法:4个重载;可以将boolean、char、char数组、double、float、int、long、String类型值追加到字符串构建器
- insert方法:4重载;可以将boolean、char、char数组、double、float、int、long、String类型值插入到字符串构建器
- 其他修改
delete(startIndex,endIndex)
|
删除从
startIndex
到
endIndex-1
的字符
|
deleteCharAt(index)
|
删除给定索引位置的字符
|
replace(startIndex,endIndex,str)
|
将从
startIndex
到
endIndex-1
的字符替换为给定的字符串
|
reverse()
|
倒置构建器中的字符
|
setCharAt(index,char)
|
为指定索引位置设置新的字符
|
- 处理字符串构建器和获取它的属性
toString()
|
从字符串构建器返回一个字符串对象
|
capacity()
|
返回该字符串构建器的容量
|
charAt(index)
|
返回指定索引位置的字符
|
length()
|
返回该构建器中的字符数
|
setLength(newLength)
|
设置该构建器的新长度
|
subString(startIndex)
|
返回从
startIndex
开始的子字符串
|
subString(startIndex,endIndex)
|
返回从
startIndex
到
endIndex-1
的子字符串
|
trimToSize()
|
减少用于字符串构建器的存储大小
|
- 超出时构建器的容量自动增加