一 标识符
-
我们所认识的标识符
-
如:类名HelloWorld
-
标识符的命名规则
-
标识符可以由字母,数字,下划线和和美元符$组成,不能以数字开头
-
标识符严格区分大小写
-
标识符不能是Java关键字和保留字
-
标识符的命名最好能反映出其作用
-
二 关键字
abstract | boolean | break | byte | case | catch |
---|---|---|---|---|---|
char | class | continue | default | do | double |
else | extends | false | final | finally | float |
for | if | implements | import | native | int |
interface | long | instanceof | new | null | package |
private | protected | public | return | short | static |
super | switch | synchronized | this | throw | throws |
transient | true | try | void | volatile | while |
三 变量
-
变量的三个元素: 变量类型、变量名和变量值。
-
变量的命名规则
-
满足标识符的命名规则
-
符合驼峰法命名规范
-
尽量简单、做到见名知意
-
变量名的长度没有限制
-
-
类的命名规则
-
符合Pascal命名法规范
-
四 数据类型
-
1 基本数据类型
-
数值型
-
整数类型(byte,short,int,long)
-
浮点类型(float,double)
-
-
字符类型(char)
-
布尔类型(boolean)
-
-
2 引用数据类型(string 字符串类型也是引用数据类型)
-
所有引用类型的默认值都是null
-
类(class)
-
借口(interface)
-
数组
-
五 基本数据类型明细
数据类型 | 说明 | 字节 |
---|---|---|
byte | 字节型 默认值是0 | 1 |
short | 短整型 默认值是0 | 2 |
int | 整型 默认值是0 | 4 |
long· | 长整型 默认值0L | 8 |
float | 单精度浮点型 默认值是0 | 4 |
double | 双精度浮点型 默认值是0 | 8 |
char | 字符型 默认值是空 | 2 |
boolean | 布尔型 默认值是false | 1 |
六 进制的表示
-
八进制:以0开头,包括0-7的数字
-
如:034,056
-
-
十六进制:以0x或0X开头, 包括0-9的数字,及字母a-f,A-F
-
如: 0x12, 0xabcf, 0XABCFF
-
七 整型的字面值
-
Java中有三种表示整数的方法: 十六进制,八进制,十进制
-
如:123,023, 0x1345, 0x1abcL
-
八 变量的声明
-
格式: 数据类型 变量名;
-
如 int n; 声明整型变量n
-
long count; 声明长整型变量count
-
九 变量的赋值
-
使用 "=" 运算符进行赋值
-
"=" 叫作赋值运算符, 将运算符右边的值赋值给左边的变量
-
如: int n=2; 定义int型变量n, 将3赋值给n,进行变量的初始化
-
-
可以在定义变量的同时给变量赋值,即变量的初始化
十 变量的定义
-
int octal=037; //定义int类型变量存储八进制数据
-
long longNumber=0xa2cdf3ffL; //定义变量存放十六进制长整型数据
-
short shortNumber=123; //定义变量存放短整型数据
-
byte b=10; //定义变量存放byte类型数据
-
说明: 整型字面值默认下是int类型, 如果表示长整型则在末尾加l或者L
十一 浮点型字面值
-
浮点型字面值默认情况下表示double类型, 也可以在值后面加d或者D
-
如: 123.32d 或者 123.43D
-
-
如表示float类型, 则需要在字面值后加f或F
-
如: 23.3f或23.3F
-
十二 基本数据类型变量的存储
-
所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,Java语言里面八种数据类型是这种存储模型
十三 字符型字面值
-
字符型字面值用单引号内的单个字符表示
-
如: 'a', 'b','$'
-
-
字符型变量的定义
-
char a='a';
-
char ch=65; // 字符型一个byte8位的存储的整数最大是0111 1111 即127
-
十四 ASCLL码表示
-
使用7位或8位二进制数组合来表示128或者256种可能得字符
-
标准的ASCLL码使用7位二进制来表示所有的大写字母和小写字母
-
后128个称为扩展ASCLL码,用来表示特殊符号,外来语字母和图形符号
十五 Unicode 编码
-
char c='\u005d' 4位
-
Unicode表示法,在值前加前缀\u
十六 布尔类型字面值
-
布尔值只能定义位true和false
-
如: boolean b=false;
-
十七 字符串字面值
-
双引号引起来的0个或者多个字符
十八 转义字符
转义字符 | 描述 |
---|---|
\uxxxx | 四位16进制数表示的字符 |
\ ' | 单引号字符 |
\ " | 双引号字符 |
\ \ | 反斜杠字符 |
\r | 回车 |
\n | 换行 |
\t | 横向跳格也就是tab键 |
\b | 退格 |
十九 类型的转换
-
类型转换分为自动类型转换(隐式类型转换)和强制类型转换
自动类型转换顺序
byte->short->int-long
char->int
float->double
int->double // 这些都是无信息丢失的数据类型转换
int-->float
long-->float
long-->double // 可能在转换时,出现精度丢失
-
强制类型转换
-
如果A类型的数据表示范围比B类型大, 则将A类型的值赋值给B类型, 需要强制类型转换
-
如: double d=123.4;
-
float f=(float)d; // 强制类型转换可能出现数据精度丢失
-
-
二十 常量
-
final int n=5;
二十一 浮点型数据
-
分类及范围
-
java中浮点数分为单精度浮点数和双精度浮点数, 分别是float和double, 浮点数就是小数点在逻辑上是不固定的, 单精度和双精度的取值范围和精度也是不同的
-
float 的取值范围是4字节也就是32位 精度是7~8位;
-
double的取值范围是8字节也就是64位, 精度是16~17位
-
因为浮点型的特殊存储结构,所以在进行数据的计算, 或者数据的转化时, 会有精度的丢失
-
-
浮点型的精确计算
-
通过BigDecimal类, 先将浮点型数据转换为String类型的数据, 然后在进行相应的计算
-
-