一、编码规范 和 标识符命名:
1.编码规范:
命名规范(大小写):类的命名中,所有单词的首字母都是大写
格式:大括号开始的开始 括号要在声明位置的后面,结束括号要放在与声明头对齐的地方
缩进:结构体上下级之间空4个空格
2.标识符规范 :
a.见名知意:能用英文就别用中文(不会的可以查词典)
b.采用驼峰式命名法
c.不能以数字开头
d.不能和Java的关键字重名(关键字都是对Java有特殊意义或影响的单词)
二、运算符:
1.数学运算符
数学运算符 | 含义 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 求余数 |
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
++ | 自增 |
-- | 自减 |
a.除法运算符(/):
除法运算符的结果跟数据类型有关,同为整型只能得到整数部分,浮点型可以得到小数部分。数据类型有关知识请看Java基本数据类型
如:3/2 结果为1 而3.0/2.0 结果就为1.5
int i = 0;
i = 3/2;//i=1
double j = 0;
j = 3.0/2.0;//j=1.5
b.求余数运算符(%):
会得到两个数之间的余数
如:3%2 结果为1
int i = 0;
i = 3 % 2;//i=1
c.加法运算符(+):
计算机在加法中把不足32位的类型自动补全为32位(低位转为高位)超过32位往64位补全,要考虑结果超过最大范围的问题
如:byte类型加上int类型会得到一个int类型的值
int i = 259;//已经超出byte的最大值
byte j = 2;
byte x = i + j;//会报出类型转化异常
int y = i + j;//往32位转换
d.关于int类型在边界值加减的情况:
int的最大值加1会变成最小值(借了符号位0->1)
int的最小值减1会变成最大值(借了符号位1->0)
e.关于精度问题的情况:
低精度和高精度计算时,遵循低精度向高精度转换的规则
f.自增或自减:
++或者--都可以使一个整数型或浮点型的变量加1或减1
g.加等于运算符(+=):
等效于下面两个式子,其他运算符同理(*=,/=)
int i = 0;
i += 10;//i=10
i = i + 10;//i=20
2.赋值运算符(=)
a.赋值运算符(=):
把等于号右边赋值给左边变量
如:把10赋给a
int a;//这里a是没值的,默认为0
a = 10;//把10赋值给了a 此时a为10
3.关系运算符
关系运算符 | 含义 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
== | 等于(Java中这个才算是等于号,一个等于号为赋值运算符) |
& | 逻辑与 |
| | 逻辑或 |
&& | 短路与 |
|| | 短路或 |
在关系运算符中:两个值进行关系运算得到的值都为boolean类型的值
&:逻辑表达式两端结果都是true才为true
|:两端结果都为false才为false
&&:前面表达式为false则不会执行后面语句
||:前面表达式为true则不会执行后面语句
3.位运算符
位运算符 | 含义 |
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
>> | 有符号右位移 |
<< | 有符号左位移 |
>>> | 无符号右移 |
按位与:将进行运算的两个数转换成2进制,对位运算,对位都是1,结果就是1,否则就是0
结论:得到的数字不会超过本身的两个数字的最小值
按位或:将进行运算的两个数转换成2进制,对位运算,有1就是1,否则就是0
结论:永远不会小于本身两个数字的最大值
按位异或:转换成二进制,对位运算,相同就是0,不同是1
1.>>有符号右位移 110(二进制)变成11 正数补0 负数补1
结论: 相当于原数字除以2
2.<<有符号左位移 10(二进制)变成100
结论:相当于原数字*2
3.>>> 无符号右位移 整体右移,多出的位只补0
本人会定期更新有关Java的博客,喜欢的请点赞,收藏,加关注,有错误请留言本人会及时更改错误,谢谢!!!