a.所有的基本数据类型都有对应的类类型,这些类类型均为Number的子类。
b.装箱,基本类型转封装类: Integer it = new
Integer(i);
拆箱,封装类转基本类型: int
i2 = it.intValue();
c.主动装箱:不用调用构造方法,使用=的方法,把基本数据类型转化为类类型:Integer i1 = 5;
自动拆箱:不调用intValue(),把类类型转化为基本数据类型:int i2 = i1
d.常量池:
如int会将 -128~127 之间的值放入到常量池中,当Integer i1 = 10 , i2 = 10时,均使用的常量池中的值,即i1 == i2
Math.round(f1)//5.4四舍五入即5
Math.random()//得到一个0-1之间的随机浮点数(取不到1)
(int
)( Math.random()*
10
)//得到一个0-10之间的随机整数 (取不到10)
printf格式化输出
//%s表示字符串,%d表示数字,%n表示换行
String sentenceFormat =
"%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n"
;
System.out.printf(sentenceFormat,name,kill,title);//使用printf格式化输出
System.out.format(sentenceFormat,name,kill,title);//使用format格式化输出
换行符就是另起一行 --- '\n' 换行(newline)
回车符就是回到一行的开头 --- '\r' 回车(return)
在eclipse里敲一个回车,实际上是回车换行符
然而在不同的操作系统,换行符是不一样的,可统一使用\n,就可以做到平台无关的换行
(1)在DOS和Windows中,每行结尾是 “\r\n”;
(2)Linux系统里,每行结尾只有 “\n”;
(3)Mac系统里,每行结尾是只有 "\r"。
String garen =
"盖伦"
;
//字面值,虚拟机碰到字面值就会创建一个字符串对象 //常量池中
String teemo =
new
String(
"提莫"
); //创建了两个字符串对象 //常量池中,堆区中
String hero3 = garen + teemo;//
通过+加号进行字符串拼接也会创建新的字符串对象
String 被修饰为final,所以是不能被继承的
immutable 不可改变,一旦创建好这个字符串,里面的内容 永远 不能改变
try - catch - finally
throw new Exception("方法内抛出异常...");
throws 用在方法上,表明该方法可能会抛出异常;
CheckedException非运行时异常,可检查的异常:程序必须进行捕获或者抛出,否则编译器编译不通过。
FileNotFoundException
RuntimeException运行时异常,一般不用捕获或者抛出(设计的原因是该异常太常见,频繁处理会影响代码可读性)。
ArrayIndexOutOfBoundsException ArithmeticException NullPointerException
Error,指的是系统级别的异常,通常是内存用光了,不要求强制捕捉的。
如例不停的给StringBuffer追加字符,很快就把内存使用光了,抛出OutOfMemoryError