开始
JDK: Java Development Kits
JRE: Java Runtime Environment
JVM: Java Virtual Machine
标识符
Java所有组成部分都需要名字。类名、变量名和方法名等都是标识符。
- 只能使用26个英文字母大小写,0-9数字,下划线,美元符号
- 不能数字开头,不能使用空格,不能使用关键字
- 大小写敏感
变量
数据类型 变量名 = 值;
- 先声明后使用
- 使用之前必须初始化
- 作用域内不可重名
数据类型
基本数据类型
- byte: 1个字节, -128 – 127,默认值0
- short: 2个字节,-2^15 – 2^15 - 1,默认值0
- int: 4个字节,-2^31 – 2^31 - 1,默认值0
- long: 8个字节,-2^63 – 2^63 - 1,默认值0L
- float: 4个字节,默认值0.0f
- double: 8个字节,默认值0.0d
- char: 2个字节,Unicode编码集,默认值’\u0000’(空字符)
- boolean: true/false, 默认值false
整数不加后缀默认为int类型,浮点数不加后缀默认为double类型
类型转换
- 自动类型转换
(1) 存储范围小的值赋给存储范围大的变量(byte->short/char->int->long->float->double)
int i = 'A';
float f = 10;
(2) 存储范围小的和存储范围大的进行混合运算
byte b = 1;
int i = 1;
double d = 1.0;
double sum = b + i + d;
(3) byte,short,char类型参与算术运算时,按int类型处理
byte b = 1;
short s = 1;
char c = 'A';
int sum = b + s + c;
- 强制类型转换
存储范围大的值赋给存储范围小的变量,可能损失精度或溢出
double d = 1.2;
int i = (int)d; //损失精度
int n = 200;
byte b = (byte)n; //溢出
引用数据类型
类,接口,数组等
运算符
逻辑运算符
操作数必须为布尔值
& (逻辑与): 两边都为true,结果为true
| (逻辑或): 左右有一个为true,结果为true
^ (逻辑异或): 左右不同,结果为true
! (逻辑非): 布尔值取反
&& (短路与): 两边都为true,结果为true;左边为false,不判断右边
|| (短路或): 左右有一个为true,结果为true;左边为true,不判断右边
位运算符
对整数的补码进行运算
& (按位与): 如果相对应位都是1,则结果为1,否则为0
| (按位或): 如果相对应位都是 0,则结果为 0,否则为 1
^ (按位异或): 如果相对应位值相同,则结果为0,否则为1
~ (按位取反): 按位取反,即0变成1,1变成0
<< (左移): 不分正负,高位移出,低位补0
>> (右移): 低位移出,正数高位补0,负数高位补1
>>> (无符号右移): 低位移出,正负数高位补0
优先级
流程控制
switch
switch语句中的变量类型只能是:4种基本数据类型(byte, short, int, char),2种引用数据类型(String, 枚举类)
case标签必须为常量,且不能重复