java基础知识点整理(一)

1、DOS命令窗口

首先作为程序员必须先掌握最基本的windows相关的DOS命令,快捷键win+R。
常见的DOS命令:
-exit退出当前DOS命令窗口
-cls清屏
-赋值:选中想要复制的内容,然后点击右键,即复制的内容到剪贴板上了;或者点击鼠标右键,选择标记,接下来复制你想复制的内容。
-dir列出当前目录下所有子文件/子目录
-cd命令:change directory【改变目录】
cd 目录的路径【包括绝对路径和相对路径】
cd …回到上一级目录
cd /直接回到根目录
-切换盘符:比如切到D盘 d:回车

2、java包括三大块:

javaSE(java标准版)
javaEE(java企业版)
javaME(java微型版)
其中javaSE是基础,以后主攻方向是javaEE方向。

3、java语言的特性【开源,免费,纯面向对象,跨平台】

简单性:相对而言,例如java中不再支持多继承,C++是支持多继承,多继承比较复杂。C++中有指针,java中屏蔽了指针的概念,所以相对来说java比较简单。java语言的底层是C++实现的,不是C语言。

面向对象:java 是纯面向对象的,更符合人的思维模式,更容易理解。

可移植性:java程序可以做到一次编译,到处运行。也就是说java程序可以在Windows操作系统上运行,不做任何修改,同样的java程序也可以放到linux操作系统上运行。这个就叫做java程序的可移植性,或者叫做跨平台。

健壮性:和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制。java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。

多线程

安全性

4、java的加载与执行

java程序运行包括两个非常重要的阶段:编译阶段和运行阶段。

编译阶段:主要任务是检查java源程序是否符合java语法,符合java语法规则能生成正常的字节码文件(xxx.class),不符合java语法规则无法生成字节码文件。字节码文件中不是纯粹的二进制文件,这种文件无法在操作系统中直接执行。
在DOS命令窗口中编译:javac java源文件路径
其中javac是一个java编译工具。
一个java源文件可以编译生成多个.class文件。.class字节码文件是最终要执行的文件,所以说class文件生成之后,java源文件的删除不会影响java程序的执行。

运行阶段:在JDK安装之后,除了一个自带的javac.exe之外,还有另一个工具/命令,叫做java.exe。java.exe主要负责运行阶段。
在DOS命令窗口中运行:java 类名(注意 java A.class这种方式是错误的)
运行过程:java.exe命令会启动java虚拟机(JVM),JVM会启动类加载器classLoader,classLoader会去硬盘上搜索xx.class文件,找到该文件后则会将该字节码文件装载到JVM当中,JVM再将xx.class字节码文件解释成二进制00011011这样的数据,然后操作系统执行二进制和底层硬件平台进行交互。

5、public class和class的区别

一个java源文件当中可以定义多个class
一个java源文件中不一定有public class
一个class会定义生成xxx.class字节码文件
一个java源文件当中定义公开类的话,public的class只能有一个,并且该类名称必须和java源文件名称一致。
每一个class当中都可以编写main方法,都可以设置程序的入口。

6、标识符

-什么是标识符?
在java源程序当中凡是程序员有权自己命名的单词都是标识符

-标识符可以标识哪些元素?
类名、方法名、变量名、接口名、常量名…

-标识符的命名规则?
一个合法的标识符只能由“数字、字母、下划线_、美元符$”组成,不能含有其他符号;不能数字开头;严格区分大小写;关键字不能做标识符;理论上无长度限制,但是最好不要太长。

-标识符的命名规范?【只是一种命名规范,不属于语法,不遵守规范编译器不会报错】
最好见名知义;遵守驼峰命名方式;类名接口名:首字母大写,后面每个单词首字母大写;变量名方法名:首字母小写,后面每个单词首字母大写;常量名全部大写。

7、什么是变量?

变量本质上来说是内存中的一块空间,这块空间有数据类型、有名字、有字面值。变量包含三部分:数据类型,名称,字面值【数据】。变量是内存中存储数据的最基本的单元。

8、数据类型有什么作用?

不同的数据有不同的数据类型,不同的数据类型底层会分配不同大小的空间。数据类型是指导程序在运行阶段应该分配多大的内存空间。

9、什么是变量的作用域?

变量的作用域,其实描述的就是变量的有效范围,在什么范围之内是可以被访问的,只要出了这个范围该变量就无法访问了。
变量的作用域只要记住一句话:出了大括号就不认识了。

10、八种基本数据类型各自占用空间大小

基本数据类型 占用空间大小 取值范围 默认值
byte 1 [-128~127] 0
short 2 [-32768~32767] 0
int 4 [-2147483648~2147483647] 0
long 8 0
float 4 0.0
double 8 0.0
boolean 1 [true,false] false
char 2 [0~65535] \u0000

八种基本数据类型的默认值是一切向0看齐。
在java语言当中,“整数型字面值”被默认当做int类型来处理。当一个整数字面值没有超过byte,short,char的取值范围,可以直接赋值给byte,short,char类型变量。

11、关于基本数据类型之间的互相转换:转换规则

1.八种数据类型当中除布尔类型之外剩下7种类型之间都可以互相转换。
2.小容量向大容量转换,称为自动类型转换,容量从小到大排序:
byte 注:任何浮点类型不管占用多少字节,都比整数型容量大。char和short可表示的种类数量相同,但是char可以取更大的正整数。
3.大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。
4.当整数字面值没有超过byte,short,char的取值范围,可以直接赋值给byte,short,char
5.byte,short,char混合运算时,各自先转换成int类型再做运算。
6.多种数据类型混合运算,先转换成容量最大的那种类型再做运算。

12、逻辑运算符

&逻辑与
|逻辑或
&&短路与
||短路或
1.逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型。
2.短路与和逻辑与最终的运算结果相同,只不过短路与存在短路现象。
3.短路或和逻辑或最终的运算结果相同,只不过短路或存在短路现象。
4.什么情况下发生短路现象呢?

int x=10;
int y=8;
System.out.println(x<y && ++x<y);//false
System.out.println(x);//10

由于x 从某种角度来看,短路与更智能,由于后面的表达式可能不执行,所以执行效率高,这种方式在实际开发中使用较多。短路与比逻辑与使用的多,短路与更常用。
但是在某些特殊的业务逻辑当中,要求运算符两边的算子必须全部执行,此时必须使用逻辑与,不能使用短路与,使用短路与可能导致右边的表达式不执行。

13、break和continue的区别

break表示循环不再执行,跳出循环,终止循环。
continue表示终止当前“本次循环”,直接进入下一次循环继续执行。

你可能感兴趣的:(java,java,jvm,编程语言)