1、装包与拆包
装包指的是将简单类型包装成对应的包装类
拆包指的是将包装类拆分成简单类型
public class TestDemo1 {
public static void main(String[] args) {
Integer i=80;
Integer i2=80;
Integer i3=150 ;
Integer i4=150;
System.out.println(i==i2);
System.out.println(i3==i4);
}
}
这个代码的输出结果如图:
之所以出现这个结果是因为系统进行了拆包与装包的工作,装包时调用了valueOf()方法,当输入值在-128127之间时,该值会被放入到cache缓存当中等待与下一输入值作比较,故而会有ture的输出结果,同理若该输入值在-128127这个范围之外时,会重新生成一个对象,这个过程调用了intvalue方法,这时会将两次输入值得地址作比较,因此第二个输出为false。
3、java中的变量
变量分为实例变量、静态变量、局部变量
class Demo{
int x;
static int y;
void fun(){
int z=10;
System.out.println(x);
System.out.println(y);
System.out.println(z);
}
}
``
实例变量存储于堆中,静态变量存储于方法区中,局部变量存储于虚拟机栈中。
4丶数据类型
5丶运算符
1丶算术运算符:“+”“—”“*”“/”
public class TestDemo1 {
public static void main(String[] args) {
int a=2;
int b=3;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
}
}
``
2丶模运算
public class TestDemo1 {
public static void main(String[] args) {
int a=12;
int b=5;
System.out.println(a%b);
}
}
输出结果为2
3丶位移运算符
<<左移,>>右移,>>>无符号右移
如12的八位二进制为0000 1100
则12<<1为 0001 1000 12>>1为0000 0110
12>>>1为0000 0110
6丶常量与变量
public class TestDemo1 {
public static void main(String[] args) {
int a=100;
final int b=10;//常量第一次赋值后不可再改变
int c;//变量在运行的时候才能知道它的值
}
}