java编码规范
- 见名知意
- 代码适当缩进
- 书写过程成对编程
- 对代码合理注释
命名
- 标识符命名
字符(中英文皆可) 数字 $ 和 _
不能是数字开头,不能是关键字,区分大小写
包名:小写 类或接口:大驼峰规则
变量和方法:小驼峰规则 常量:全部大写
变量和常量
## 常量 ##
在程序运行期间,其值不会改变
字面值常量
- 字符 字符串
- 整数 小数
- 布尔常量
- 空常量
自定义常量
## 变量 ##
在程序运行期间,其值在某个范围内可以改变的量变量关注点
- 数据类型
- 变量名称: 同一个作用域内不能重名
- 变量的值
- 作用域: 从定义开始,到包围它的右大括号为止
- 变量使用关注点
- 变量本身存在 : 要先声明
- 变量的值存在: 要先赋值
- 在其作用域内使用
- 同一个变量在某一个时刻,只能存一个值,后赋值会覆盖前面的值
数据类型
基本数据类型和引用类型
## 基本数据类型 ##
四类八种,整数默认为int类型 小数默认为double类型
小数存储过程中可能会丢失精度,因此不能进行比较运算
- 整形
- byte: 1字节 8位 -128~127
- short: 2字节 16位 +-3万
- int: 4字节 32位 +-21亿
- long: 8字节 64位 +-2^63
- 浮点型
- 单精度型float 4字节 32位
- 双精度型double 8字节 64位
- 字符型
char 2字节 一个字符存一个中文汉字
- 逻辑型
Boolean 1位 只有2个值 true和false
数据类型转换
- boolean不转换
默认转换
- 从小到大
- byte short char 转 int long float double
- byte short char平级,不互相转,计算时转换成int计算,结果也是int
强制转换
- 从大到小
- 可能会有精度损失,一般不建议这样使用
- 格式
- 目标类型 变量名 = (目标类型)原始变量
警惕隐式类型转换
- byte short char在和自身以及相互运算时,都会转换成int类型进行计算,所以计算结果一定是int类型。
转义字符
- \’:单引号
- \:反斜杠\
- \”:双引号
- \b:退格
- \n:换行,移动到下一行开头
- \r:回车,移动到本行开头
- \t:水平制表符,跳到下一个tab位置
运算符
在编程语言体系中,所有的运算,都需要考虑运算符两边的类型问题,包括赋值运算符和三目运算符
算术运算符
- 取模运算: 正负号由被除数决定
- 自增:
- ++i: 先自增,再计算整个表达式
- i++: 先计算整个表达式,再自增
赋值运算符
逻辑运算符
&与
两边都为真,结果才为真| 或
两边有一个为真,结果就为真^ 异或
两边相同结果为false,两边不同结果为true! 非
取反&& 短路与
前为假,结果为假,后不需计算- || 短路非
前为真,结果为真,后不需计算
三元运算符
(条件表达式)?表达式1:表达式2
流程控制语句
## 顺序结构 ##
## 选择结构 ##
- if语句
- if。。。else语句
- if。。else if。。else if。。。语句
switch。。。case。。default语句
防止穿透: 注意case语句中是否需要加break
## 循环结构 ##
for循环
for(初始化表达式1;条件表达式2;控制表达式3){程序体4}
执行顺序:1~2~4~3~2~4~3。。。while循环
while(条件表达式1){程序体2}
执行顺序:先判断,真循环,假不循环do。。while循环
do{程序体}while(条件表达式)
先执行一次,然后判断,假不循环,真循环
控制跳转语句
break
- 只用在循环和switch语句中,其他场景无意义
- 跳出循环
- 此循环内,break后的语句无法执行
continue
- 用在循环中,其他场景无意义
- 跳出循环中的这一次循环,继续下一次循环
return
- 跳出方法,或者 返回值
- 一个方法只能一个执行一条return语句
- 在return后的代码永远不会被执行,因此不允许return后写代码