1、配置环境变量;

临时环境变量用set+相应的变量名;如果要在原有的目录基础上添加新的目录,就用两个百分号中间写目录名的方式,和前一个目录用分号隔开(Linux下用冒号);清空classpath 设置用set classpath=

JVM先找classpath,然后才找当前目录找文件,加分号先找classpath 后找当前目录,不加分号只在classpath下找,一般不加分号,因为设置class的目的就是让虚拟机直接找文件。

 而path先在当前目录找,后找path路径,如果是可执行文件一般就配置path,如果是class文件就用classpath.

类中不一定要有主函数,需要运行的时候才写,一个类里面只能有一个主函数,一个公共类必须有自己的同名文件;类上一般加文档注释,函数多行注释,也不要每一行都加单行注释。

2、标识符

基本数据类型:

基本数据类型包括数据值:整数类型(byte,short,int,long),浮点类型(float,double);字符型:char布尔型:boolean.

转义字符:通过\来转变后面字母或者符号的含义

\n换行,\b退格,\r回车,\t制表符相当于tab键;

一个数连续两次异或同一个数结果还是那个数;

位运算是最快的运算:例如:用最效率的方式计算2*8的方式是2<<3;

如果判断一个数n是否是奇数,就可以用 n & 1 == 1 ? “奇数”:”偶数”

不用第三方变量将两个变量的值互换?用异或:n=n^m;m=n^m;n=n^m;

3、数组

比如int[],(int[]是一个Object对象)

说是有2个重载的方法:fn(int[] arr)和fn(Object obj)

如果传入一个NULL值,会调用哪个呢?

答案是:第一个。因为适配int[]的是一个Object对象,但是Object未必是一个对象。

4、位运算符

“>>>”运算符将用0来填充高位,没有<<<运算符;

“>>”运算符用符号位来填充高位。

运算符优先级表

优先级

运算符

结合性

1

() [] .

从左到右

2

! +(正) -(负) ~ ++ --

从右向左

3

* / %

从左向右

4

+(加) -(减)

从左向右

5

<< >> >>>

从左向右

6

< <= > >= instanceof

从左向右

7

== !=

从左向右

8

&(按位与)

从左向右

9

^

从左向右

10

|

从左向右

11

&&

从左向右

12

||

从左向右

13

?:

从右向左

14

= += -= *= /= %= &= |= ^= ~= <<= >>=>>>=

从右向左

5、数值类型转换

如果两个操作数中有一个是double类型,另一个就会转换成double类型;

否则,如果其中一个操作数是float类型,另一个将会转换成float类型;

否则,如果其中一个操作数是long类型,另一个将会转换成long类型;

否则,两个操作数都将被转换为int类型。