-
标识符:
-
用作给变量、类和方法命名
-
标识符以由字母(包括汉字)、数字、下划线(_)和美元符号($)组成,但是不能以数字开头
-
类名、接口名 | 首字母大写,后面每个单词首字母大写 |
---|---|
变量名、方法名 | 首字母小写,后面每个单词首字母大写 |
常量名 | 全部大写 |
可以一行声明多个变量
int a,b,c; | 正确 |
---|---|
int a,b,c = 10; | 错误。a,b未初始化,c = 10 |
局部变量 | 方法体内定义的变量 局部变量必须手动初始化 |
---|---|
成员变量 | 方法体外、类体内定义的变量 成员变量未手动赋值会被自动初始化 |
Java数据类型:
基本数据类型 | 4大类8小种 整型:byte、int、short、long 浮点型:float、double 布尔型:boolean 字符型:char |
---|---|
引用数据类型 | 类 字符串 接口 数组 … |
数据类型 | 大小 | 默认值 |
---|---|---|
byte | 1 byte | 0 |
short | 2 | 0 |
int | 4 | 0 |
long | 8 | 0L |
float | 4 | 0.0f |
double | 8 | 0.0d |
boolean | 1 | ‘\u0000’ |
char | 2 | false |
- 基本数据类型之间的转换:
- 除bool型外,7种类型之间都可以互相转换
- 小容量向大容量转换是自动类型转换,容量大小为:
byte < short < int < long < float < double
< char <
【注】
- 任何浮点类型不管占多少字节,都比整型容量大
- char和short表示的种类数量相同,但char可以取更大的正整数
- 整型字面值未超出byte,short,char范围时,可直接赋值给byte,short,char变量
- byte,short,char 混合运算时,各自选转换为int 型再做运算
- 多种数据类型混合运算,先转换成容量最大的那种类型再运算
-
比 double 精度更高的是 java.math.BigDecimal
-
java中,所有浮点型字面值(如3.0),默认被当做 double 类型处理。 double 和 float 在计算机内部二进制存储都是近似值。
byte a = 12;
a = a + 2; // 报错,因为是大容量-->小容量【默认的字面值都是int型】
a += 2; // 正确,这里的 a += 2 等价于 a = (byte)(a + 2)
// 扩展类赋值运算符(-=、+=等)不改变运算结果的数据类型
- Java中“ + ”运算符:
两边都是数字 | 加法运算,求和 |
---|---|
两边只要有一个是字符串 | 字符串的连接 |
-
java中的数字有正负之分,在二进制的最左边有一个符号位,0代表正数,1代表负数。
- byte 类型范围: -128 ~ 01111111(127)【共256个数字】
- char 类型范围【无正负之分】:0 ~ 0111111111111111(65535)
-
中文编码:
简体中文 | GB2312 < GBK < GB18030 |
---|---|
繁体中文 | 大五码(big5) |
全球所有文字 | Unicode编码 UTF-8 UTF-16 UTF-32 |
Java源代码采用Unicode编码
一个汉字占2个byte
-
正常的大容量往小容量转换需要加强制转换符,且可能会损失精度;
但byte、short、char比较特殊,int数据的大小在他们范围类的话可以直接赋值给他们,但是long不可以
-
原码、反码、补码:【计算机内部数据以“补码”的形式存储】
- 正数的原码、反码、补码一样
- 负数的反码是原码除符号位外取反;补码是原码除符号位外取反再加一
已知负数补码求原码:补码先减一,再除符号位外取反
【补码10000000的原码是-128】
【原码10000000的补码是10000000】
Java 关键字列表 (50组) | abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum, extends, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while |
---|---|
保留字列表 (14组) Java保留字是指现有Java版本尚未使用,但以后版本可能会作为关键字使用 | byValue, cast, false, future, generic, inner, operator, outer, rest, true, var, goto (保留关键字) , const (保留关键字) , null |