标题解释:为什么叫第一天,因为之前一直想进阿里,但是从今天开始才开始写博客,所以,就当今天是第一天吧。我们一起加油!!!
本人双非本二非科班学渣一名,本人目标就是走入java圣地阿里,希望通过"折腾"的心,而且趁着年轻,努力实现自己的梦想。本人学习的动力就是,用技术让自己和家人过上更好的生活,让我们一起加油!!希望笔记有不对的地方,还请见谅并指正。
本人觉得相进阿里这样的地方,还是需要自己有毅力可以坚持学习,这样不会让自己就算进了阿里也是到此一游,虽然现在还没有进阿里,但是,我们应该更有动力学习不是嘛。
本人对自己的学习路线不是特别清晰,但是知道阿里对于java语言本身的要求肯定不会低,所以,java基础语法一定要熟练掌握!(所以打算通过三个月的时间精读一遍Thinking in java)
好了,话不多说,开始整干货(怕是有干又扁的活哟 。。。 )。
2020/05/27 前面就开始看完第七章了,但是发现自己对前面知识点理解不是特别清晰,所以,今天花时间整理一下之前的知识点,便于自己更好的理解。(由于第一、二章特别概念,所以我放在最后看完之后回头看)
第三章 操作符 1、操作符优先级,先算括号里面的,然后先加减后乘除。
2、java中等于是 == ,而我们日常使用的 = 是赋值的意思,就是将等号右边的值赋给左边。
3、java中,/ 只取整数部分,% 结果是余数。
4、++a ,a++区别,加号在前面就是先进行自加操作生成值然后运算,加号在后面说明先运算然后进行自加生成值。( --a, a-- 道理相同)
5、逻辑操作符( && || !),双写有短路效果,就是如果不需要后面的条件就可以判断出表达式的值,后面的条件就不执行。
6、移位操作符( >> , >>> ),按顺序表示带符号移位和无符号移位。注意点就是:负数不带符号移位,首先取反码(符号位不变,也就是最高位),然后加一得到补码,然后执行移位操作,然后减一得到反码,然后取反码(符号位不变,也就是最高位)。(取反码的意思0 变成 1,1 变成 0)
7、三元操作符( 表达式 ? 结果1 : 结果二 ),如果表达式为true,则结果为结果一,反之,表达式为false,结果为结果二。
8、我们可以把所有的基本数据类型转换成其他的基本类型,但是布尔型(boolean)除外,那么,由精度高的数据转换成精度低的数据,那么会发生损失精度的问题。对29.7(doouble)转换成一个29(int)是一个舍尾操作。
9、Java中,小于int类型的操作做运算,结果总是一个int类型。
第四章 控制执行流程 1、if-else ,else是可选的。
2、while、do-while,两者区别就是,do-while肯定至少会执行一次,但是,while只有满足条件才会执行。
3、forEach(for(数据类型 变量名 : 包含数据类型的元素集合))。
4、return 表示跳出当前方法。
5、break和continue,break表示退出当前循环,而continue表示结束本次迭代,推到循环起点,然后继续执行下一次迭代。
6、switch (选择语句 ,case 的值支持以下类型 byte、short、char、int、Enum、String(jdk7+)),当和某一个case匹配,那么执行case,直到遇到break退出switch语句,如果不符合所有的case,那么执行default语句。
第五章 初始化与清理 因为前面看的时候对这部分理解不是特别透彻,导致后面几乎接近崩溃,所以从这一章开始,包括后面的复用类那一章,如果没有仔细看,那么会导致你"忍不住"回头看一遍( 哈哈~ )。
1、用构造器确保初始化,如果创建一个类而没有给他创建一个构造器(就是和类名一样的方法),那么java会给你创建一个默认的无参数的构造器来确保这个类被正确初始化。如果你自己提供了一个带参数的构造器,那么java觉得你不需要了,所以不会给你创建默认的无参构造器。
2、方法的重载( 方法参数列表的顺序,类型,个数 不一样的方法可以同时存在,这个就叫方法的重载 )。如果遇到没有符合条件的方法,比如说f(int),但是调用的是 对象.f(byte),那么会自动提升参数类型来调用f(int)方法。注意事项:方法重载不可以用返回值区分(因为有时候你根本不关心方法的返回)。
3、this关键字(如果是方法返回this,那么这个this代表调用方法的哪个对象)。
4、我们为了复用代码,可能给一个方法提供多个构造器,那么可以在方法中使用this关键字(代表当前对象或者这个对象)。在构造器中无法使用两个this调用其他构造器,因为使用this调用其他构造器必须放在第一行。
5、成员初始化,如果是基本类型,会给其一个默认值,引用类型,会给其一个null。
6、被static修饰的变量是一个全局变量,只占用一块存储区域,但是可以被新修改,如果修饰符是static final 代表全局变量且不可以修改,同时也只占用一块存储区域。
7、枚举类型,即类使用enum关键字,而不是class关键字。枚举类values()方法可以遍历所以枚举成员。orginal()方法就是让我们想操作数组一样操作枚举类。
第六章 访问控制权限 由于这张比较概念化,所以可以用一张图来描述这一章。
昨天是在是写不动了,在公司有点热,然后还有蚊子,今天晚上继续肝。志同道合的小伙伴可以评论下,一起努力呀!
本人内容均来自本人总结,如有侵权,请联系本人删除