2.标识符、关键字、变量
第二章【标识符、关键字、变量】
一、注释
1、单行注释
//
2、多行注释
/*
*
*/
3、文档注释
/**
*文档注释测试类,利用文档注释,结合javadoc命令,可以生成API说明文档
*@author lipengda
*@version 1.0
*@since JDK1.8
*/
mkdir api
javadoc -d api src/Hello.java
javadoc -d api -author -version src/Hello.java
显示作者和版本
二、符号
1、分号
2、空白
三、标识符
1、命名规则
-
标示符可以由字母、数字、下划线_ 、美元符号$组成
-
标示符开头不能是数字
-
标识符中的字符大小写敏感
-
标识符的长度没有限制
-
标示符不能使用java中的关键字或保留字
2、推荐规则
- 类和接口,首字母大写,如果是俩个单词,第二个单词的首字母大写
- 方法和变量,首字母小写,如果是俩个单词,第二个单词的首字母大写
- 常量,全部字母大写,如果是俩个单词,使用下划线分隔
- 尽量使用有意义的名字,尽量做到见名知义
3、中文可以使用,但不推荐
四、关键字
注意,const 和 goto 是java中的保留字
五、基本类型
1、基本数据类型(值)
整数类型:byte short int long
-
byte 8位、 1字节 范围:负2的7次方~2的7次方减1
-
short 16位、2字节 范围:负2的15次方~2的15次方减1
-
int 32位、4字节 范围:负2的31次方~2的31次方减1
-
long 64位、8字节 范围:负2的63次方~2的63次方减1
在Java语言中,为了区分不同进制的数据,八进制数以“0”开头,十六制以“0x”开头,二进制以“0b”开头
整数类型的默认类型是int
字面量形式,并且最终的结果是可以用byte或short接收,会默认把int转换为byte或short
byte a = 1+1;
不是字面量形式,此时byte或short都会做数据类型提升,换成int参与计算,所以结果需要用int接收。
long a=10L;
浮点数类型:float double
默认为double
- float是32位, 1符号位+8指数位+23尾数位
- double是64位 1符号位+11指数位+52尾数位
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的
-
float的精度为7位左右有效数字
-
double的精度为16位左右有效数字
浮点型的精度丢失:
这个问题其实不是java语言的bug,而是因为计算机存储数据是二进制的,而浮点数实际上只是个近似
值,所以从二进制转化为十进制浮点数时,精度容易丢失,导致精度下降
BigDecimal是java.math包中的类,使用时需要import导入
字符:char 16位、2字节
boolean:8位、1字节
2、引用数据类型(地址)
数组类型、类类型、接口类型
3、数据类型的转换
基本数据类型之间是可以发生数据类型的转换:
规则:能够发生转换的数据本质上是同一种数据
隐式转换:
使用较大的数据类型接收较小的数据类型的数据,自动转换不需要额外工作
显式转换:(强制类型转换)
使用较小的数据类型接收较大的数据类型,此时jvm不能主动做转换,需要我们使用强制类型转换
较小的数据类型 名字 =(转换成什么类型)较大数据类型的值
byte-->short-->char-->int-->long-->float-->double
六、变量
变量的声明语法:
[修饰符] 数据类型 变量名 [=变量值];
【注意】同一个作用范围内不允许声明两个同名的变量
七、理解对象Object
对象一般都会具有一些属性和方法
- 属性表示对象本身的一些特点
- 方法表示对象本身的一些行为
八、引用型变量
基本类型变量和引用类型变量的区别:
-
基本类型变量只能接收基本类型数据,它是一种比较简单的数据,没有属性,也没有方法
-
引用类型变量只能接收引用类型数据(也就是对象),但对象是一种比较复杂的数据,它里面可
以有很多属性,也可以有很多方法