声明下:
因为之前已经有C的基础了,所以在B站听狂神的课的时候会挑自己不熟悉或者不会的知识点来记录。所以不建议初学者参考这个专栏的笔记,建议去B站自己听狂神讲一下,会觉得非常有收获~
(一)类型转换
JAVA的类型转换与C相同,都是 大转小需要强制转换,小转大自动转换。
这个所谓的 “大小” ,指的是在内存空间占的字节位数的多少。
所以 byte 1 , short 2, char 2 < int 4< long 8 < float < double
eg:
int i=8;
byte b = (byte)i; //强制将更大的int型转换为byte型
注意:
不能对布尔值进行强制转换,尽管布尔值最小。
一个字符串拼接的类型转换技巧
int a=10;
int b=20;
System.out.println(""+a+b); //输出1020
System.out.println(a+b+"");//输出30
因为字符串的类型比浮点数还大,所以当“”在前时,会自动进行字符串拼接;
但如果“”在后,那么转换成字符串的时候a和b已经完成相加运算了,即便30是个字符串,它也是运算后的结果,而非直接拼接。
(二)运算符(自增自减)
自增自减本身没什么好说的,主要是注意++的前后位置。
int a=3;
int b=a++;
int c=++a;
System.out.println(b);
System.out.println(c);
System.out.println(a);
//依次输出 3,5,5
这个输出结果是这样获得的——
a的初始值是3,b首先获得a的值,而后a自增,此时b=3,a=4;
然后,a再次自增,c获得自增后的a的值,所以c=5,a=5
总地来说就是一句话:执行顺序自左向右。
(三)条件运算符
x?y:z
//如果x==TRUE,则结果为y,否则结果为z.
String type = score<60 ? "不及格":"及格";
//分数小于六十吗?小于则type 赋值为不及格,否则反之。