今天是开课第三天,老师讲了很多理论上的东西,突然对java有了些兴趣,从盲目的选了这门课程开始,第一次觉得这门课程不像其他人所说的那么枯燥无味,嗯,坚持就是胜利,加油!以下就是本宝宝所学的新知识:
(1) 数值类型分为:整数类型,浮点类型,字符型。
(2)浮点类型:1)float:四个字节,单精度
2)double:八个字节,双精度,范围更大,更准确。
3)java中所有的小数默认都是double,除非float f=1.1f;
(3)字符类型: char ,编码unicode,两个字节表示一个字符, char c='c', ' ' 只能放一个,0-65536,从0开始,没有负数,根据的是unicode码表,数值65码值。
(4)布尔类型:ture,false,开关,一般用于逻辑判断,一个字节只用了一位。
(5)引用数值类型:数组,类,接口。
(6)运算符1)算数运算符:+ - * / ++ (自增符号) --(自减符号)
2)赋值运算符:=
3)扩展赋值运算符:+-,-=,*=,/=,%=
4)关系运算符:>,<,>=,<=,==,!=
5)位运算符
(6)类型转换,1)自动类型转换: byte b=10 (只要在-128-127之间,可以自动转换成byte)
int c=b+10 (数值运算时,会尽量往精度高的方向提升。体现在,byte+int=int,int+float=float)
byte b=10+7 (可以编译成功,因为右面是常量)
byte b=10,byte c =5,b=b+c, (因为右面是变量,编译器检查不出来是否在范围内)
特殊情况:b+=(b+10) (成功,因为特殊,扩展赋值符,如果是扩展赋值符,右面就不管了,全都能编译成功,底层已经做了自动类型强转,都能编译成功)
char c='a';c+1 (根据unicode 编码表,去查找码值,再和数值相加)
b=b+10;和b+=10; b=b+10编译失败,因为右面是变量,编译器不能在编译的时候确定右面的值是否在-128-127之间。
b+=10编译成功,因为扩展运算符,编译器底层自动类型强转。
b+=(b+10);编译成功,因为扩展赋值符会默认将右面强转。
(7)强制类型转换:b=(byte)(b+10)精度丢失,出现负数
char c='a';(char)(c+1) 根据码值去相应的unicode码表找相应的字符。
(8)两个数运算的时候,类型得一致。
以上就是本宝宝今天新长的知识。
214

被折叠的 条评论
为什么被折叠?



