一、JDK目录

bin:用于存放一些可执行程序

db:小型数据库

jre:java运行时环境

include:JDK是通过C和C++实现的,启动时需要引入一些C和C++的头文件

lib:java类库或库文件

src.zip:JDK核心类的源代码

二、配置临时环境变量

临时配置方式:通过dos命令中set命令完成

这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。

从JDK5.0开始,classpath环境变量没有设置,JAVA虚拟机会将其设置为”.”为当前目录

三、程序执行

JAVA虚拟机首先将编译好的字节码文件加载到内存(类加载/类加载器),由虚拟机针对加载到内存中的JAVA类解释执行

四、常用的DOS命令

盘符名称:    盘符切换

md(mkdir)     创建目录

rd(rmdir)    删除目录

cd..    回退到上一级目录

cd\    退回到根目录

del(delete)    删除文件,删除所有后缀名一样的文件  *.txt  *.avi

exit    退出dos命令

rd /s    删除带内容的文件夹

rd /s /q     直接删除不询问

echo 内容>地址:\文件名.格式 覆盖式创建文件

echo 内容>>地址:\文件名.格式 追加式创建文件

五、Java中的常量

(1)、常量

常量:在程序的执行过程中,其值不可以发生改变。

分类:字面值常量:字符串常量、整数常量、小数常量、字符常量(用''引起来的单个内容)、布尔常量(true/false)、空常量(null)

java中的整数常量有四种表现形式:二进制、八进制、十进制、十六进制(电信号1开、0关)

二进制:以0b开头

八进制:以0开头

系数奇数^权数次幂之和

(2)、负数的补码是在反码的基础上对数值位+1

六、数据类型

【整数类型】

byte、1字节、-128到127

最大的补码:01111111==>127

负数原码,由于最高位只能是1,因此最小值为:1 111 1111,即-127=>???

+0表示为:00000000,-0表示为:1000000

因为最高位是符号位不算在里面,所以就会有两个0,所以从一开始发明二进制的时候,就把-0规定为-128,如此二进制的补码就刚好在计算机中运作中吻合。

最小的补码:11111111==>反码:-128(01111111)==>原码:-128(00000000)

short、2字节、-2^15到2^15-1

int(默认)、4字节、-2^31到2^31-1

long、8字节、-2^63到2^63-1

【浮点类型】

float、4字节、-3.403E38到3.403E38

double(默认)、8字节、-1.798E308到1.798E308

【字符型】

char、2字节

【布尔型】

boolean

《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。

七、变量的类型转换

【默认转换(从小到大的转换)】

byte,short/char---int--long---float--double

byte,short,char之间不转换,参与运算时都先转换为int

【强制转换(从大到小的转换)】

格式:目标类型 变量名 = (目标类型)(要被转换的数据);(它有可能会损失精度)

在使用+= /= 等运算符时,强制类型转换会自动完成

八、常用的ASCALL码值

0----48 A----65 a----97

九、运算符

(1)、优先级

[] . () (方法调用)

! ~ ++ -- +(一元运算) -(一元运算)

* / %

+ -

<< >> >>>

< <= > >= instanceof

== !=

&

^

|

&&

||

?:

=

【记忆口诀】单目乘除为关系,逻辑三目后赋值。

(2)、^ 的特点:一个数对另一个数位异或2次,该数本身不发生改变

(3)、请实现两个整数变量的交换

//方式一:采用中间变量的方式(开发中常用)

//方式二:用位异或(面试用)

a = a^b;

b = a^b;//a^b^b

a = a^b;//a^b^a

//方式三:变量相加方式

a = a+b;//11

b = a-b;//5

a = a-b;//6

十、JAVA中,有六个不同的地方可以存储数据

【寄存器】:由CPU使用,最快的存储区,位于不同于其他存储区的地方——处理器内部。寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。

【栈】:存放基本类型的变量数据和对象的引用,如局部变量,对象的引用名,数组的引用名。

【堆】:对象,new出来的东西。

【静态域】:存放静态成员(static定义的) 。

【常量池(方法区)】:存放字符串常量和基本类型常量(public/static/final)。

【非RAM存储】:

十一、数组的初始化

静态初始化:在声明并初始化数组与给数组相应的元素赋值操作同时进行。

int[] scores1 = new int[]{72,90,59};

动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行。

int scores2[] = new int[3];

scores2[0] = 72;

scores2[1] = 90;

scores2[2] = 59;

数组元素的默认初始化值

byte short int long 而言:0

float double 而言:0.0

char而言:空格

boolean而言:false

引用类型变量而言:null