【章一】关键字 & 标识符 & 变量
一. 关键字
- 定义 :Java语言中已经被赋予特定含义,有专门用途的字符串
public class HelloJava{
public static void main(String[] args){
System.out.println("hello");
}
}
上述代码中class public static void
均为关键字
二. 标识符
- 定义 :Java中对变量、方法、类等命名时使用的字符串
- 规则:
- 由英文字母、数字0-9、_ 、$ 组成
- 不可以由数字开头
- 不可与关键字相同
- 严格区分大小写
- 不限制长度
- 不能包含空格
class HelloWorld
{
int num = 10;
}
上述代码中HelloWorld num
均为标识符
三. 变量
1. 概念
-
存储在内存中某一区域的数据,可以在同类型范围内变化
-
三要素 :
数据类型
、变量名
、存储值
-
格式 :
数据类型 变量名 = 变量值
int numbe = 10; //变量的定义 char name; //变量的声明 name = "变量"; //变量的赋值 char type = "字符串"; //声明与赋值合并
2. 分类
- 基本数据类型:
- 整型:
byte short int long
- 浮点型:
float double
- 字符型:
char
- 布尔型:
boolean
- 整型:
- 引用数据类型:
- 类(class)
- 数组(array)
- 接口(interface)
- 枚举(enum)
- 注解(annotation)
- 记录(record)
说明
变量命名时要遵循标识符命名的规则和规范
变量有自己的定义域,超出定义域后失效
不同定义域中可定义同名变量
变量赋值/使用前必须先定义
变量赋值必须满足其数据类型要求,且在数据类型有效范围内变化
3. 基本数据类型
3.1. 整型
类型 | 占用存储空间大小 | 表示范围 |
---|---|---|
byte | 1 B(字节) = 8 bit(位) | -128 ~ 127 |
short | 2字节 | -215 ~ 215 - 1 |
int | 4字节 | -231 ~ 231 - 1 |
long | 8字节 | -263 ~ 263 - 1 |
- 定义的long型变量赋值时要以
l
或L
为后缀(大或小写的英文字母L)
long l1 = 100l;
- 一般整型变量使用
int
定义,只有当表示较大数时才用long
- Java的整型常量
默认为int型
3.2. 浮点型
类型 | 占用存储空间大小 | 表示范围 |
---|---|---|
float(单精度) | 4字节 | -3.403E38 ~ 3.403E38 |
double (双精度) | 8字节 | -1.798E308 ~ 1.798E308 |
- 定义的float类型变量赋值时以
f
或F
结尾
float f1 = 10.0f;
float:单精度,可以精确到小数点后7位有效数字,很多情况下精度达不到要求
double:双精度,精确度是float的两倍,常用此类型
Java的浮点型常量
默认为double型
3.3. 字符型
类型 | 占用存储空间大小 | 表示范围 |
---|---|---|
char | 2字节 | 一个字母、一个汉字、一个书面字符 (Unicode编码形式,绝大多数字符都可表示) |
- 表示形式
- 表示一个字符
char ch1 = 'A';
char ch2 = '字';
char ch3 = '8';
- 使用Unicode值
\uxxxx
表示字符型常量
char ch4 = '\u0023'; //等同于 char ch4 = '#';
char ch5 = '\u0036'; //等同于 char ch4 = '6';
- 使用转义字符
\
来将其后的字符转变为特殊字符型常量
char ch6 = '\n'; //换行
char ch7 = '\t'; //制表符
4.使用具体字符对应数值(如ASCII码)
char ch8 = 38; //等同于 char ch8 = '&';
char ch9 = 40; //等同于 char ch9 = '(';
- char类型都对应有Unicode码,可以看做是一个数值,可以进行运算
3.4. 布尔型
类型 | 占用存储空间大小 | 表示范围 |
---|---|---|
boolean | 1字节 | true / false |
- 仅有true/false两个值,不能用0或1表示
boolean bo1 = true;
boolean bo2 = false;
//boolean bo3 = 1; //错误
//boolean bo4 = 0; //错误
- 常用于流程控制语句
boolean flag1 = true;
boolean flag2 = false;
if(flag1){
System.out.println("The flag1 is true");
}else{
System.out.printf("The flag1 is false\n");
}
if(flag2){
System.out.println("The flag2 is true");
}else{
System.out.printf("The flag2 is false\n");
}
输出