02.基础.txt
UP 返回
1.一个.java中可以有多个类,但是文件名必须和public的那个类同名
2.long定义的整数默认为int,如果范围超过int后面不加L的话就会报错
3.Integer.toBinaryString(a) Integer.toOctalString(a) Integer.toHexString(a)
4.浮点数默认为double类型,如果是float要在后面加F/f;double可以采用科学计数法
5.char的范围:0~65535
6.多个int连乘,若怕溢出,最好把L放在第一个int后,防止前面的int计算已经溢出了才去做L的转换
7.jdk7新特性:
1.整数各个位之间可以用_来分割位数,便于查看
int b=1_2325_2215
2.0b开头可以定义二进制整数,便于和内存中存储方式一一对应
int a=0b00000000000000000000000000000011
int c=0b0000_0000_0000_0000_0000_0000_0000_0011
8.Throwable——Error—VirtualMachineError 虚拟机错误
| |-OutOfMemoryError 内存溢出
| |-ThreadDeath 死锁
|
|——Exception
|
|——Checked Exception 检查异常:IOException SQLException
|
|——RuntimeException
|——NullPointerException 空指针异常
|——ArrayIndexOutOfBoundsException 数组越界
|——ArithmeticException 算数异常
|——ClassCastException 类型转换异常
9.可以通过System.exit(1)来不执行到finally中的代码。而return语句不论写在try中还是catch中,最终都会走到finally,最后才会返回对应的return
10.Throwable(String message , Throwable cause) 可以创建异常链,通过已产生的异常加一个描述来构造一个新的异常
Throwable(Throwable cause)
initCause(Throwable cause)
打印时,后面的异常打印后,会继续打印出caused by 前一个异常
11.throws使用规则:当子类重写父类抛出异常的方法时,声明的异常必须是父类方法所声明异常的同类或子类
12.自动拆装箱时,当Integer的值在-128到127之间时,java会自动到缓存区(对象池)中去查找,如果有则直接构建,否则才会创建新的,所以如果有两个值一样的Integer,做==比较时会是true。但是如果不在这个范围,则仍然每次创建新的对象
但是Double Float不存在对象常量池的概念
13.字符串用=创建出的对象,同样的值会指向常量池中的同一个地址;new创建的则是在堆中生成对应的对象
14.java文件的缓冲区满时会自动执行flush方法,但是如果没有满则不会触发
15. 使用输入流文件读取:
FileInputStream fis=new FileInputStream("001.txt");
InputStreamReader isr=new InputStreamReader(fis);
int n=0;
char[] cbuf=new char[10];
//while((n=isr.read())!=-1){
// System.out.println((char)n); //一个一个的读也可以
//}
while((n=isr.read(cbuf))!=-1){
String s=new String(cbuf,0,n); //如果使用new String(cbuf)读字符串,会导致最后一次读的时候字符串长度不足而打印出不
System.out.println(s);
}
使用输入输出流文件读取:
FileInputStream fis=new FileInputStream("001.txt");
InputStreamReader isr=new InputStreamReader(fis);
FileOutputStream fos=new FileOutputStream("002.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos);
int n=0;
char[] cbuf=new char[10];
while((n=isr.read(cbuf))!=-1){
osw.write(cbuf,0,n);
osw.flush();
}
使用缓冲流文件读取:
FileInputStream fis=new FileInputStream("001.txt");
InputStreamReader isr=new InputStreamReader(fis,"GBK");
BufferedReader br=new BufferedReader(isr);
FileOutputStream fos=new FileOutputStream("002.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos,"GBK");
BufferedWriter bw=new BufferedWriter(osw);
int n=0;
char[] cbuf=new char[10];
while((n=br.read(cbuf))!=-1){
bw.write(cbuf,0,n);
bw.flush();
}
<!<@D:\ProjectCodes\myeclipse_ci_10\WordsCollection\refer\202202242.png@>!>
DOWN 返回