1.初始化数组:
@1.运行时初始化:
int[] array = new int[12];
array[0] = 12;
array[1] = 12;
array[2] = 12;
@2.创建时,字面量初始化:
int[] arr = {1,2,3,45,5};
2.非矩形数组:
int[][] temp = new int[4][];
temp[0][0] = 12;
temp[1][0] = 23;
3.数组复制:
一维复制不影响:
int[] array = new int[12];
array[0] = 12;
array[1] = 12;
array[2] = 12;
int[] temp = array.clone();
array[2] = 134;
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(temp));
二维复制受影响:
int[][] array = {{2,3,4},{3,4,6}};
int[][] temp = array.clone();
array[0][0] = 14;
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(temp));
因为:clone仅仅可以操作基本类型,涉及到引用就不奏效了。
4.查看数据类型:
int[][] array = {{2,3,4},{3,4,6}};
Class<?> claz = array.getClass();
System.out.println(claz.getName());//2维度,int
String[] str = {"12","23"};
Class<?> cl = str.getClass();
System.out.println(cl.getName());//1维度,string
//[[I
//[Ljava.lang.String;
5.手动编译java文件,需要指定到编译路径,运行时也是需要指定到编译路径的。
6.静态初始化器,static,可以多个,按照顺序执行。因为没有到创建对象的时候,不可以使用this,super。
7.数据存储是以“字节”(Byte)为单位,数据传输是以“位”(bit)为单位。ByteArrayInputStream,ByteArrayOutputStream,仅可操作字节,包含byteArray缓冲区。DataInputStream,DataOutputStream操作ByteArrayInputStream,ByteArrayOutputStream实例。操作基本数据类型。
8.买it书籍学习是个不错的路径,但是这个仅仅是个入门的途径,高深的路径是需要自己进了门之后,自己研究文档,动手实验。
9.InputSteam是抽象类,需要继承重写。而且数据来源不同,得到了不同的数据输入流。针对数据输入流,我们往往需要进行过滤,特殊处理,FilterInputStream子类。类似的就是查看inputStream的子类中,子类构造函数中没有器子类的就是直接操作文件。带子类的就是过滤的。