标识符的命名规则
- 由26个英文字母大小写,0 - 9,_ 或 $ 组成
- 数字不可以开头
- 不可以使用关键字和保留字,但能包含关键字和保留字
- Java中严格区分大小写,长度无限制
- 标识符不能包含空格
Java中的命名规范
- 包名:多个单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多个单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
变量的分类-按数据类型
基本数据类型:
整形: byte \ short \ int \ long
浮点型:float \ double
字符型:char
布尔型:boolean
引用数据类型:
类(class)
接口(interface)
数组(array)
整数类型
Java 的整数常量默认为 int 型,声明long型常量须后加’l‘或’L‘
类型 | 占用存储空间 | 表数范围 |
---|---|---|
byte | 1字节 = 8bit位 | -128 ~ 127 |
short | 2字节 | -2^15 ~ 2^15 -1 |
byte | 4字节 | -2^31~ 2^31-1(约21亿) |
long | 8字节 | -2^63~ 2^63 |
浮点类型
浮点型常量有两种表示形式:
- 十进制数形式:5.12 521.0f .512(必须有小数点)
- 科学计数法形式:512e2 512e2 100E-2
float:单精度,尾数可以精确到7位有效数字。声明float型常量,须后加"f"或“F”
double:双精度,精度是float的两倍。
类型 | 占用存储空间 | 表数范围 |
---|---|---|
float | 4字节 | -3.403E38 ~ 3.403E38 |
double | 8字节 | -1.798E308 ~ 1.7983E308 |
字符型
-
定义char型变量,通常使用一对‘’,内部只能写一个字符
char c1 = ‘a’;
c1 = ‘abc’;不通过
char c2 = ‘1’;
char c3 = ‘汉’; -
表示方式:1.声明一个字符 2.转义字符 3.直接使用 Unicode 值来表示字符常量
char c4 = ‘\n’; 换行符
char c5 = ‘\u0041’; A
基本数据类型之间的运算规则
这里只讨论7种基本数据类型变量之间的运算。不包含boolean 类型
- 自动类型提升
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte、char、short --> int --> long --> float --> double
特别的:当byte、char、short三种类型的变量做运算时,结果为 int 型
- 强制类型转换(逆运算)
1.需要使用强制转换符:()
2.注意点:强制类型转换,可能导致精度损失
说明:此时的容量大小指的是表示书的范围的大和小。比如:float容量大于long的容量
案列
//1.编码情况
long l = 123123; //自动提升
long l1 = 123132413513213213213213; //编译失败,过大的整数
long l1 = 123132413513213213213213L;
float f1 = 12.3; //编译失败,浮点型,默认为double型
byte b = 12;
byte b1 = b + 1; //编译失败,整型常量,默认为int型
计算机中不同进制说明
对于整数,通常有四种表示方式:
- 二进制(binary):0,1,满 2 进 1,以 0b 或 0B 开头。
- 十进制(decimal):0 - 9,满 10 进 1
- 八进制(octal):0 - 7,满 8 进 1.以数字 0 开头表示
- 十六进制(hex):0 - 9及A - F,满16 进 1.以 0x 或 0X 开头表示。此处A - F 不区分大小写。
说明:计算机地层以补码形式存储:补码 = 原码(出符号位)取反 + 1