1.StringBuffer类:是一个final类,特别注意,StringBuffer的对象不是一个常量,可以对其值进行改变,不会产生一个新的对象。
2.StringBuffer对象调用append方法,返回的还是调用append方法的那个对象。
StringBuffer sb = new StringBuffer(); sb.append(“abc”).append(“def”);
等价于sb = sb.append(“abc”); sb = sb.append(“def”);
3.StringBuffer类有toString()方法,返回的是字符串。如:
System.out.println(sb); 其结果是 abcdef
4.+字符串拼接小结:String类型和int,boolean类型拼接,其结果都是将int,boolean类型转化为String类型,其拼接结果是string类型。
如: String s = “hello”; int a = 1; Boolean flag = false;
String s1= s + a + flag; System.out.println(s1);
其结果是:hello1false
5.包装类(wrapper class): 对原生数据类型的一种包装,包装成为对象,以便使用相应包装类
方法。
Int的包装类为Integer, 包装的具体操作:
Int a = 10;
Integer in = new Integer(a);
Int b = In.intValue();//将integer类型转化为int
System.out.prinltn(a==b);
打印结果为true.
其他原生数据类型包装方法与int相似。
6.数组(Array):相同类型数据的集合。其中数组本身是java中的一个对象。
定义数组的三种方式:
1) 类型名[] 数组名 = new 类型名[数组的长度];如:int[] a = new int[4];java中推荐这种
类型名数组名[] = new 类型名[数组的长度];如:int a[] = new int[4];C语言中定义数组方式。
2) 类型名[] 数组名 = {数组的所有值}; 如:int[] a ={1,2,3};
3) 类型名[] 数组名 = new 类型名[]{数组的所有值};其中[]内不能有长度值。
7.java中数组的length属性,是public,final的。
8.数组名指向的数组的首地址,即数组中的第一个元素。
9.Person[] p = new Person[4];这句代码一个Person类型的对象都没创建。P只是Person类型数组的一个引用,P里面的元素都是Peroson类型的引用,此时还没给p里面的元素赋值,那么p里面一个Person类型的引用都没有。当执行p[0] = new Person();时,这时才产生person类型对象。P里面的Perosn类型的引用才开始能指向person类型对象。
小结:引用类型数组,里面的元素都是对象的引用。原生数据类型数组,里面的元素都是值。
10.数组元素赋值的两种方式:
1)逐个赋值:如,a[0]=1,a[1]=2…
2)统一赋值,使用for循环语句。
For(int i=0; i<a.length;i++)
{
a[i]=i+1;
}
11.二位数组的定义;
type[][] 数组名=new type[3][5];
type[][] 数组名=new type[][]{{1,2,3},{5,6},{7,8,9,10}};
12.int[][] a = new int[2][];编译能通过,可通过行指定列的长度
a[0] = new int[2]; a[1] = new int[3]; a[2] = new int[3];
而int[][] a = new int[][2];编译通不过。因为通过列来指定行的长度。
13.为二维数组赋值(包括规则和不规则的):
for(int i=0; i<a.length;i++){
for(int j=0; j<a[i].length;j++){
a[i][j]=1;
}
}