为了便于大家学习,本文整顿分享一下100条初学者必背的Java知识点。因为篇幅过长,首先分享前50条,干货满满,倡议先珍藏哦~

1.编写:编写的Java代码保留在以“.java”结尾的源文件中。

2.编译:应用javac.exe命令编译java源文件,生成字节码文件。格局:javac 源文件名.java

3.运行:应用java.exe命令解释运行字节码文件。格局:java 类名

4.在一个java源文件中能够申明多个class,然而只能最多有一个类申明为public,而且被申明为public的类的类名必须与源文件名雷同。

5.java关键字中所有字母都为小写

6.Java中的名称命名标准:包名:多单词组成时所有字母都小写:xxxyyyzzz 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz变量名、办法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连贯:XXX_YYY_ZZZ

7.字符串是属于一个类,属于援用数据类型

8.在类体内,在办法体外申明的变量称为成员变量。

9.在办法体外部申明的变量称为局部变量。局部变量除形参外,需显式初始化能力应用。(形参也是局部变量)

10.java的整型常量默认为 int 型,申明long型常量须后加‘l’或‘L’。

11.Java的浮点型常量默认为double型,申明float型常量,须后加‘f’或‘F’。

12.Java中的所有字符都应用Unicode编码,一个字符能够存储一个字母,一个汉字,所以java中char类型是两个字节。

13.boolean类型数据只容许取值true和false,无null。不能够应用0或非 0 的整数代替false和true。Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的 boolean值,在编译之后都应用java虚拟机中的int数据类型来代替:true用1示意,false 用0示意。

14.尽管long类型是8个字节,float是4个字节,然而float类型采纳迷信计数法存储,所以float类型的存储范畴比long类型更大。

15.主动类型转换:容量小的类型主动转换为容量大的数据类型。byte,short,char之间不会互相转换,他们三者在计算时首先转换为int类型。

16.强制类型转换:将容量大的数据类型转换为容量小的数据类型,但可能造成精度升高或溢出。

17.字符串不能间接转换为根本类型,但通过根本类型对应的包装类则能够实现把字符串转换成根本类型。

18.计算机底层都以二进制补码的形式来存储数据。

19.负数(最高位是0)的原码、反码、补码都雷同,正数(最高位是1)的补码是其反码+1。

20.赋值运算符:= += -= *= /= %=,运算的后果不会扭转变量自身的数据类型。short i = i + 1;因为常量“1”默认是int型的,所以编译会报错,应用short i += 1,则做到了+1的作用,也没有扭转数据类型。

21.&与&&、| 与 | | 的区别:&&、| | 具备短路性能,右边的条件成立或者不成立,左边的条件不必再判断,&、| 不论什么状况,都要把所有条件判断完。

22.位运算:位运算符操作的都是整型的数据。(左移运算符)<< :在肯定范畴内,每向左移1位,相当于 * 2(右移运算符)>> :在肯定范畴内,每向右移1位,相当于 / 2

23.流程管制:程序构造:程序从上到下执行。分支构造:if - else、switch-case循环构造:for、while、do-while

24.数组属于援用数据类型变量,然而数组的元素既能够是根本数据类型,也能够是援用数据类型。

25.数组的长度一旦确定就不能批改,初始化实现,长度就定了。

26.数组动态初始化:数组元素的初始化和数组元素的赋值同时进行。例如:int a[ ] = new int [ ] { 1,2,3 };

27.数组动静初始化:数组元素的初始化和数组元素的赋值离开进行。例如:int b[ ] = new int [5]; b[0] = 1 ;

28.数组元素的默认初始化值:整型:0浮点型:0.0字符型:0或者’\u0000’,而非’0’布尔类型:false援用数据类型:null

29.关键字 break、continue 能够带标签应用(相似于C语言的goto语句)break label;//完结指定标识的一层循环构造。continue label;//完结指定标识的一层循环构造当次循环。

30.面向对象vs面向过程面向过程:强调的是性能行为,以函数为最小单位,思考怎么做。面向对象:强调具备了性能的对象,以类/对象为最小单位,思考谁来做。

31.面向对象中两个重要的概念:类:对一类事物的形容,是形象的、概念上的定义对象:是理论存在的该类事物的每个个体,因此也称为实例(instance)

32.虚拟机栈,即为平时提到的栈构造。局部变量存储在栈构造中;new进去的构造(比方:数组、对象)加载在堆空间中。
补充:对象的属性(非static的成员变量)也是加载在堆空间中。int arr [ ] = new arr [ ],以等号“=”为界,右边是局部变量寄存在栈,左边是new 的机构,寄存在堆中。
办法区:类的加载信息、常量池、动态域

33.“属性”与“变量”的区别:
① 在类中申明的地位的不同属性:
间接定义在类的一对{}内。局部变量:申明在办法内、办法形参、代码块内、结构器形参、结构器外部的变量。
② 对于权限修饰符的不同属性:
能够在申明属性时,指明其权限,应用权限修饰符。罕用的权限修饰符:private、public、缺省、protected —>体现为封装性。局部变量:不能够应用权限修饰符。
③ 默认初始化值的状况属性:
类的属性,依据其类型,都默认初始化值。整型(byte、short、int、long:0)、浮点型(float、double:0.0)、字符型(char:0 (或’\u0000’))、布尔型(boolean:false)、援用数据类型(类、数组、接口:null)局部变量:没默认初始化值。意味着,咱们在调用局部变量之前,肯定要显式赋值。特地地:形参在调用时,咱们赋值即可。
④在内存中加载的地位属性:
加载到堆空间中 (非static)。局部变量:加载到栈空间。

34.如果办法没返回值,“return;”示意完结此办法的意思。

35.封装性思维具体的代码体现:

36.权限修饰符的范畴:

37.4种权限都能够用来润饰类的内部结构:属性、办法、结构器、外部类。润饰类的话,只能应用:缺省、public。

38.如果没显式的定义类的结构器的话,则零碎默认提供一个空参的结构器。

39.一个类中定义的多个结构器,彼此形成重载。

40.一旦咱们显式的定义了类的结构器之后,零碎就不再提供默认的空参结构器。

41.一个类中,至多会有一个结构器。

42.this能够了解为:以后对象或以后正在创立的对象。

43.能够显式的应用"this(形参列表)"形式,调用本类中指定的其余结构器,然而结构器中不能通过"this(形参列表)"形式调用本人(死循环)。

44.规定:"this(形参列表)“必须申明在以后结构器的首行,能够推出结构器外部,最多只能申明一个"this(形参列表)”,用来调用其余的结构器。

45.如果应用的类或接口是java.lang包下定义的,则能够省略import构造。应用"xxx.*"形式表明能够调用xxx包下的所有构造。然而如果应用的是xxx子包下的构造,则仍须要显式导入。

46.一个类能够被多个子类继承(一个爸爸能够有多个儿子),然而一个类只能有一个父类(一个儿子只能有一个亲生爸爸)

47.子类继承父类当前有哪些不同?一旦子类A继承父类B当前,子类A中就获取了父类B中申明的所有的属性和办法。特地的,父类中申明为private的属性或办法,子类继承父类当前,依然是获取了父类中私的构造,只因为封装性(private权限修饰符)的影响,使得子类不能间接调用父类的构造而已。子类继承父类当前,还能够申明本人特有的属性或办法:实现性能的拓展。

48.子类间接继承的父类,称为:间接父类。间接继承的父类称为:间接父类。子类继承父类当前,就获取了间接父类以及所有间接父类中申明的属性和办法。

49.如果没有显式的申明一个类的父类的话,则此类继承于java.lang.Object类。

50.办法的重写(override 或 overwrite)。
子类继承父类当前,能够对父类中同名同参数的办法,进行笼罩操作。