------- android培训、java培训、期待与您交流! ----------
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类型。