一、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