1。不可到达的语句声明为错:while(false){};for(;false{};if(false){}都无法编译
2。for(第一部分;的第一部分可以用来声明或者赋值,但不能两者都
3。byteb;switch{case200://200notinrangeofbyte,因为200超过b的范围,将编译错误
4。带标签的continue回达到标签的位置,从新进入紧接在标签后面的循环
5。带标签的break会中断当前循环,并转移到标签标示的的循环的末尾
转型和上溯(ConvertingandCasting)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Binaryoperatorsconvertthesmaller(lessprecise)operandtothetypeofthelarger(moreprecise)operand。
Alloperatorswillconvertthingssmallerthanintstointsorlarger。Thisincludeschar´s!
1。byte,char,short默认转成int
2。byte->short->int->long->float->double
char^
这是默认可以转型的方向,反了必须要显式cast!特别注意:long->float是默认的,别看long64,float32,
还有就是看得出来,char和byte,short之间无法互相默认转换
3。floatf=1/3;OK!floatf=1。0/3。0;编译出错,因为1。0/3。0结果是double的,噢噢~,错喽!!
4。inti=1;byteb=i;错!需要显式cast。
finali=1;byteb=i;就ok!我也不知道为什么,final就可以。而且,据我实验只有int和byte的关系这样,其他不行。
5。inti[];Object[]obj=i;错!Objectobj=i;对!数组只能转成Object,而不能是Object[]
6。inti[];Object[]obj;i=(int[])obj;对!对象可以通过显式来转成一个数组。
I/O
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1。File类的一些重要方法:isFile();isDirectory();String[]list();exists();getAbsolutePath();getParent();
2。通过delete();mkdir();rename(Filenewname);可以操纵文件,但是却改变不了文件的内容
2。1File类无法改变当前目录,除非重新创建一个File对象。
3。InputStreamReader(InputStreamin,StringencodingName);
OutputStreamReader(OutputStreamin,StringencodingName);
Encoding:8859_1是Latin-1,包含ASCII
4。关闭close一个流,就自动调用了flush。
5。System。in,System。out,System。err,由JVM自动创建
6。RandomAccessFile(Filefile,Stringmode);mode有,r,rw