1 数据类型

Java 的数据类型分为基本数据类型 ( primitive types ) 和引用类型 ( reference types )。
image.png
两种类型的差别:

  • 基本类型:变量存放在中,在“这里
  • 引用类型:变量存放在中,在“那里

    在赋值的时候

    • double d2 = d; 复制的是值
    • Person p2 = p; 复制的是引用(指针地址)

上例中变量 p2 存储在栈中,但其引用的对象存放在堆中。
image.png

1.1 boolean 类型

image.png

1.2 char 字符类型

image.png

  1. char c = '国'; // 这是允许的,也可以打印出来

1.3 整型类型

image.png

1.4 浮点型

image.png

2 运算符与表达式

  1. 逻辑右移 **>>>** e

普通的 >><< 是算数移位,即空出的位均补符号位,而逻辑右移高位空出的位补 0。
没有 <<< 的道理很简单,因为算术左移和逻辑左移完全等价。

  1. int a = 3, b = 33;
  2. a >> b;

上例中,Java 会先将 b 模 32 ( int 类型的位数 ),然后进行移位。对于 long 类型同理,b 会先被模 64.

  1. 字符串连接可以用 **+**