IDEA
.class 文件是编译后的Java字节文件,.jar 文件是打包后的发布文件,需将.jar文件在JDK环境中使用。
package test;public class test {public static void main(String[] args){System.out.println("Hello,World!");}
}
package语句,指定当前文件的代码定义在哪个包中;
包(package)是Java代码的基本组织形式,除了使用package,还可以使用import语句引用其他包中的资源;
class(类)中可以包含很多成员,main()方法 ,是应用执行的入口。
src下新建test软件包,在test软件包下新建test.java文件

对于使用特殊指令的注释,Javadoc命令可创建HTML文档
// final关键字定义的标识符称为常量
final double pi = 3.1415926
整数以0开头时定义为八进制数,如020表示十进制数16;
整数以0x开头时定义为十六进制数,如0xF表示十进制数15;
整数以0b开头时定义为二进制数,如0b0101表示十进制数5。
public static void main(String[] args){System.out.println(020);System.out.println(0xF);System.out.println(0b0101);
}
注:整数运算的结果依然是整数,如果运算数的类型不一样,则统一转换为取值范围较大的类型,然后进行计算。
四个位运算:与、或、取反、异或
其中与(&)、或(|)、异或(^)皆为两个二进制数的比较,而取反(~)则对自身每一位进行操作;异或——两个二进制位数据相同时返回0,不同时返回1。
public class test {public static void main(String[] args){byte x = 0b00000010;System.out.println(~x);}
}// 输出为 -3
解释:对于x=2的取反为-3,原因:byte类型的数据是由符号的,即最高位是符号位,1/0分别代表负/正。当数据为负数时,其二进制实际上是其绝对的补码形式(即原码按位取反+1),本处逆推可知输出为-3。
三个位移运算:
1. << (左移运算,二进制位向左移动,低位补0),当整数x进行左移n位运算时,就是在执行x*的运算;
思考题:
System.out.println((byte)(0b11000001<<1)); //-126
解释:首先0b11000001左移得到0b110000010,如果是int类型,即为386,由于数据强制转换为byte类型,而byte类型只能保存8位整数,那么为0b10000010,其最高为1,为负数,由上文知识计算为-126。
2. >> (右移运算符,二进制位向右移动,此时,符号位不动,右移空出的高位要补上与符号位相同的数据),当整数x进行右移n位运算时,就是在执行x/的运算 ;
3. >>> (无符号右移运算符,执行此运算时,不考虑符号位,数据整体右移,并在高位补0)
System.out.println((byte)0b11000000>>2); //-16
System.out.println(0b1010>>>1); // 5