@JAVA中部分基础知识
一、 属于Java的命令
- jlink
是Java的新命令行工具,通过他我们可以创建自己的自定义 JRE。 - javac
是Java语言编程编译器。全称是Java compiler。Java工具读由Java语言编写的类和接口的定义,并将他们编译成字节代码的class文件。 - javap
是Java class文件分离器,可以反编译,也可以查看Java编译器生成的字节码。用于分解class文件。
二、标识符的长度
最长为65535.
三、保留关键字
四、 “++”和“–”以及+、-的优先级
x 1public static void main(String[] args){2 int b = 10;3 b = b++ + b --;4 b = b++; System.out.print(b);5}
其中第一次进行“b++”时,b是之前赋的值10,而在“+”之后的“b–”的b是之前“10”的值。因为“+”的优先级高于“–”,所以先执行“+b”的操作。第3行执行之后b的值为20。之后在进行“b++”,并输出b,得出结论为21。
五、 位运算
| | 按位或 | 当有一个1时,结果就为1 |
---|---|---|
& | 按位与 | 当两个都为1时,结果才为1 |
计算-12|2的过程
进行位运算时,要将数据转换成32位的二进制,再转化成相对应对反码,补码。而正数的反码补码是其本身。但对于负数来说,其原码是将原数据本身绝对值的二进制最高位变成1的数据,其反码则是将原码的符号位不变,其他位依次取反,最后再反码基础上加一得到补码。最后将要运算的两个数按位或(当有一个1时,结果就为1)得到结果的补码,将其反推,得到其原码最后转换位十进制。
五、 switch表达式中支持的类型
switch表达式中支持int类型,所以能转化为int类型的都可以支持,例如:byte,short,char;再 Java 7之后允许使用枚举,所以在此之后允许使用字符串。但long无法转换成int型,所以在switch中无法支持。