2016/11/18
由于11月10号那几天我去祖国南方见识到了资本主义的万恶,回武汉后,这颗爱国、好学之心愈燃愈旺啊。我爱学习学习爱我学习使我快乐。(好了别废话了…不要给自己出去浪没搞学习回来弥补找借口了…)
《疯狂Java讲义》第三章学习笔记:
▲注释有3种:1.单行:// 2.多行:/*asdf*/ 3.文档:/**asdf*/
▲JDK提供的javadoc工具:源代码的文档注释 → API文档,javadoc:默认只处理public、protected
▲分隔符:1.; 2.{} 3.[] 4.() 5.空格(space、Tab、enter) 6.·
▲标识符:首位(aA/_/$)+ 后面的(aA/_/$/123),注意:区分大小写,不含空格,aA包括英文字母和中日文字符
▲数据类型:1.引用类型(Reference Type):类、接口、数组、null(不能赋值给基本类型) 2.基本类型(Primitive Type):布尔类型boolean-1bit、数值类型:整数(byte-8bit、short-2*8bit、int-4*8bit、long-8*8bit)、字符char-2*8bit、浮点(float-4*8bit、double-8*8bit)
▲Java默认整数:int
▲在byte、short范围内的数值,赋给byte、short,系统自动将这个数当成byte、short处理,eg: byte a = 56; √
▲超出int范围的,不会自动当成long,需加个l或者L,eg: long a = 999_999_999_999; × long a = 999_999_999_999L; √
▲可以将一个int范围内的赋给long,但Java会把这个数当成int处理,只是这个int数会自动转换到long
▲新增二进制整数:0b/0B,byte、short数的首位不能为1(上篇提到过了)
▲Java编码方式:16位的Unicode字符集
▲字符型常量4种表示形式:1.‘A’ ‘9’ 2.‘\n’ '\t' 3.'\u009' 4.97 (注:2.转义字符 3.Unicode有0000-FFFF共65535个,前256个同ASCII 4.整数:0-65535)
▲Java默认浮点:double(eg: float a = 5.6; × float a = (float)5.6; √)
▲float:符号位1bit + 指数8bit + 尾数23bit
▲double:符号位1bit + 指数11bit + 尾数52bit
▲布尔类型的数值是true和false,不是0和非0(eg: boolean a = true; √)
▲自动类型转换:char / (byte→short) → int → long → float → double
▲字符串:String类,eg: String s = "123abc"; √
▲基本类型 + "str" = "基本类型str",eg: 3 + 4 + "hello" = "7hello", "hello" + 3 + 4 = "helllo34", ‘a’ + 7 + "hello" = "104hello"
▲parseXxx(String str):字符串→基本类型
▲运算符:算术(+、-、*、/、%、++、--)、赋值(=)、比较(>、<、!=、>=、<=、==)、逻辑(&&、&、||、|、!、^)、位(&、|、~、^、<<、>>、>>>)、类型相关
▲%结果不一定是整数,操作数1 ÷ 操作数2 = 整数……余数(←求的就是这个数),因为求余有除法,所以:a. 整 % 非0整 √ b. 整 % 0.0 = NaN √ c. 浮 % 0 = NaN √
▲按位非:~负数:先求负数补码,再按位非
▲<<:最左边直接截断(不管符号位!!!),右边补0
▲>>:左边空的全用符号位填充
▲>>>:左边空的补0
▲扩展后的赋值:byte a = 5; a = a + 5; × a += 5; √
▲比较:数值类型:只要值相等,97 == 'a' → true,引用类型:引用相同类的实例,指向同一个对象
▲与&&,或||,不短路与&,不短路或|:与或:会检查计算每个条件,再做运算,不短路与或:按顺序检查到有true(||)或false(&&),后面不再检查
▲三目不支持多语句
真累,我下次不用这种排版方式了,mdzz我要学着用MarkDown……基础知识真是不扎实啊,不过查漏补缺还是挺好的。