这么多天第一阶段的JavaSe学习结束了,针对自己所学的知识点作如下总结与汇总。复习之后进入数据结构与算法的学习。
对于JavaSe的学习来说,个人觉得弄清楚这些基本的知识与理解是最为重要的,你拿到相关的代码一定要能看得懂并且理解其中的意思,自己动手写代码的代码量不需要太多,可以尝试写一写,相关的代码题可以先想思路,代码实现不了可以看别人的答案,要能看懂就可以。我学习的JavaSe这些内容大约是Java核心卷1的前一半的内容。多看,多写(看懂的代码自己在IDEA写一遍)多总结,出问题的查一查具体问题,不要死磕。
个人总结的JavaSe学习路径:有条件可以预习 —> 上课:培训or自学的课 —> 总结当日知识点 —> 看相关代码 对着知识点理解并消化 —> IDEA写一遍当日代码 —> 有问题百度或者询问朋友一起解决—> 直到代码正确 —> 自己照着代码再写一份 —> 阶段性总结与复习 —> 阶段性学习的相关知识点一些经典问题的解决与代码的查看和理解。
以下内容中红色标亮部分为个人认为的重点内容,务必理解与消化。其中橙色字体为本人的个人理解,蓝色字体为语法结构。此文章只总结个人认为比较重要的知识点,不包含代码实现与具体题目。
*.java java源文件 该文件中存储所有的java源代码
在java中一切皆对象,所以一切属性和方法必须定义在类中(Java中的一个个类,就是一个个对象,没有对象你设定的属性以及方法就没有意义,因为Java是面向对象的编程语言,例如你设定一个属性:年龄等于10,那么如果不在一个类中。那这个年龄等于10,是谁的年龄等于10?在代码中的体现就是。你必须创建类之后,才能创建其他的东西,否则你创建的其他的所有东西没有意义)
源文件名称必须与主类名称一致,主方法存储在主类中。每一个程序的开始执行入口都是主方法,你在该源文件内创立的所有的东西。如果你想要执行都必须放入主方法中。主方法就是一个执行器。
javac编译器 ——将源文件编译成字节码文件也就是class文件,然后class文件通过java解释器翻译为具体操作的机器码给机器执行。
JDK——java开发工具包,包括jre开发环境以及开发工具,比如javac编译器
JRE——java运行时环境,包括jvm与javase标准类库
JVM——java虚拟机,保证java 做到 write once,run everywhere的关键
另外添加的注释在编译后是不存在的,只存在于源文件中。
Tips:IDEA注释的快捷键:选中需要注释的内容ctrl+/
标识符:在程序中给类、方法、变量取的名字都叫标识符,取名规则为:可以包含字母、数字、下划线以及美元符$(不推荐)。不能以数字开头,不能使用java中的关键字,区别大小写(java中一切都区分大小写)。(标识符其实就是给你想创建的对象起个名字,无论是属性也好方法也好,总要有个名字来代表它)
关于标识符的命名:驼峰命名法:类名用大驼峰,每个单词首字母都大写。方法和变量使用小驼峰:第一个单词首字母小写,其他都大写。
class TextStudent{ //类名大驼峰
int myAge = 10;//变量小驼峰
}
八大基本数据类型分别为:数值型:byte short int long (整型)float double (浮点型)
字符型:char 布尔型:boolean 其中数值型整型的默认值为0,浮点型默认值为0.0,字符型默认值为\u0000,boolean型默认值为false。
所有的数据类型只有在类中定义时才具备默认值,在方法中的局部变量是不具备默认值的。你在类中定义时可以写 int a而不赋值不会报错,但是你在方法中调用时或创建局部变量时写 int a 就不行,必须在使用前赋值。(因为类中的东西可以不被操作,但是方法内部必须是要对其内部的东西进行操作的,你不赋值就无法操作,所以不行)
程序中有两种类型的数值,一种为变量,定义后可以修改该变量的具体数值,另一种为常量,数值无法改变,用final修饰。
变量语法:数据类型 变量名称 = 初始值 eg:int a = 10
一行中可以定义多个对象:int a = 10,b = 20 ,c;特别的 如果为int a,b,c=10;此时只有c为10,a和b为默认值,要特别注意
因为java中一切皆对象,所以一切都可以用类来描述,但八大基础数据类型不属于类,为了满足一切皆对象原则,为八大基础数据类型创建了包装类,这样它们也就能成为对象了。包装类除了int的为Integer,char为Character之外,其他的均首字母大写即可。
在进行数据处理时,得出的最终结果要与数据类型匹配,如果不匹配就会出现精度损失。如果int / int 那么得到的还是int ,如果结果是小数那么会舍去小数点后的数字以此来输出int的结果。
字面量:直接展示出来的就是字面量,比如10 (整型字面量),abc(字符串字面量),他们都是常量,因为10只能指代10,abc只能指代abc,在使用时,int a = 10相当于把一个10的字面量常量赋值给了变量a。另外,整型字面量默认为int类型,浮点型字面量默认为double。
关于类型转换与类型提升:小类型转为大类型自动转换,大类型转小类型需要强制转换。因此
float = 10.1F(大转小强转) long b = 10(小转大自动),并且在运算时,小数据类型与大数据类型一起计算,自动将小类型提升为大类型再计算。
另外,存储byte short char的时候看它本身大小,但是调用时默认将其调为int类型进行处理。
java中任何数据类型与字符串(string类)进行+操作,都会变成拼接结果。
string类中有一个valueOf方法可以将纯数字字符串转换为数值型,接收该数值的数据类型必须比转换过来的数值要大,否则放不进去。
算术运算符:+ - * / %(取余)+= -= *= %= (先进行=前的运算再得出结果,例如 1 +=2,就为3)
关系运算符:== != < > <= >= 计算结果为布尔值,该运算符的意思为:判断数据怎么怎么样(根据具体运算符来决定, ==就是判断两个数据相等,相等为true不相等为false,!=为判断不相等)
逻辑运算符:&& (逻辑与)并且关系 ; || (逻辑或)或者关系 ; 它们运算结果也为布尔值 特别的!为逻辑取反
位运算符:在二进制位进行操作 &(按位与) |(按位或) ^(按位异或) ~(按位取反)
&:二进制位(后同)都为1返回1否则0 | :都为0返回0否则1 ^ :相同返回0不同返回1 ~:1变为0 ,0