标识符、关键字、变量
一、注释
作用: 给程序员书写提供提示功能
所有的注释在编译的时候去除
分类:
普通注释:
//:单行注释
/**/:多行注释
文档注释:
在普通注释的基础的增加了一个功能,文档注释中写的内容将来可以提取出来,形成专门的注释文档
文档注释的使用:/**
文档注释
*/
@author:作者
@version:版本
@since:基于哪个版本的JDK开发的
@see:参照
@param:参数列表
@return:方法返回值
@exception或@throw:处理方法中的异常
提取文档注释:
javadoc -d path 要提取的源文件(XX.java…)
jacadoc -d path -author -version 要提取的源文件(XX.java…)
二、符号
; 写完没有{}的地方都需要加;
空格 换行
只要不在单词可关键词中间加空格或换行一般没有问题
{}:作用域 作用范围 方法体
三、标识符(所以的起名字的地方这些名字都叫标识符)
1.开头必须是字母 _ $
2.组成 字母 数字 _ $
3.大小写敏感
4.长度不受限制
5.不能是关键字/保留字
推荐规则:可以遵守也可以不遵守
四、关键字
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 strictfp short static super
switch synchronized this throw throws
transient try void volatile while
五、数据类型
数据:安全高效的存储使用
数据结构
算法
引用数据类型:类类型 接口类型 数组类型
基本数据类型: 简单 基本类型 值本身进行存储
整型:--------------------整数类型
byte short int long
小数:---------------------浮点类型
float double
结果:--------------------boolean型
true false
字符:--------------------char型
boolean:1个字节存储 true/false
boolean类型的数据要么是true,要么是flase,要么是能产生true/flase的运算表达式,虽然java底层是以0和1进行存储,但我们不能书写0/1作为boolean类型
char:2的字节保存(3,4个)
是用2进制的数值做保存
因此什么字符对应什么样的二进制数对应关系就是叫做字符编码
解决乱码:
保存字符和解析字符时使用同一种编码格式或者兼容的编码格式
java中存在字符具有特殊含义,JVM读取这种字符立马就解释了反而丢失了这个字符最初始的含义
如果想要使用字符本身,需要把字符进行转义 \
\n :换行
\t :制表符
整型:
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
int:(byte short)
整数类型参与计算时
变量+字面量
变量+变量
字面量+字面量
整数类型默认的数据类型是int类型所以byte
short类型处理比较特殊
两个已经声明的数据做加法操作
那么计算的时候依然做数据类型提升,把byte/short类型的数据提升成int再去计算
如果是两个字面量的形式的byte/short,那么如果计算本身的结果本身可以用byte/short表示。 那么就用byte/short接受
如果byte/short的字面量超过本身数据范围,那么就用int接收 //整数类型
默认的数据类型是int
浮点数:
float:32 单精度 声明float类型的时候一定要在后面加上f,否则会报错
double:64 双精度(默认) ·
六、类数据
变量的声明:保存数据
[修饰符] 数据类型 变量名 [=vlaue];
变量名 = 变量值;
变量在使用的时候一定要遵循先声明,初始化,初始化后才能使用
同一个作用域中不允许定义两个名字相同变量
七、变量转换
(被转换的数据类型之间原本描述的就是同一种事物)
强制类型转换(手动转换/显示转换):JVM默认不能帮我们转换,因为转换可能会使数据出现问题。强制转换一般在被转换的数据前面加一个括号,括号里面放需要转换的类型
把较大数据类型的数据使用较小的数据类型接收。
double–>float–>long–>int–>char–>short–>byte
隐式数据类型转换(默认转换):JVM自动发生转换
byte–>short–>char–>int–>long–>float–>double
八、变量
局部变量:
1.位置:
方法内部,方法的代码块内部,方法参数列表的位置
2.作用域
从声明这个局部变量开始到这个局部变量所直接属于的{}结束
如果是参数列表形式声明的局部变量,整个方法都是他的作用域
3.生命周期:
从声明这个局部变量开始到这个局部变量所直接属于的{}结束
4.默认值
所有的局部变量JVM都不会给默认值,所以所有的局部变量必须遵循先声明,初始化,使用
5.修饰符
不允许使用范围修饰符(public,protected,private),也不能使用static修饰
实例变量(成员变量):
1.位置
位于类的内部,方法的外部不使用static修饰的变量
2.修饰符
可以使用范围修饰符,不要使用static
3.默认值
所有实例变量,在构建对象的时候JVM会根据你声明的变量类型给变量一个初始值
整数:0
浮点型:0.0
boolean:false
引用类型:null
4.作用域
当前类中非静态方法中,可以直接访问当前类中声明的实例变量
当前类中静态方法或当前类之外的其他类中想要访问当前类的实例变量则必须要构建当前类的对象,使用对象。实例变量名
5.生命周期
伴随对象的产生而产生,对象的消失而消失