关键字
通俗的将就是系统自己保留的字段:
访问控制
private protected public
类,方法和变量修饰符
abstract class extends final implements interface native newstatic strictfp synchronized transient volatile
程序控制
异常处理
try cathc throw throws包相关
import package基本类型
boolean byte char double float int long short null true false变量引用
super this void标识符
组成规则:
1:英文大小写字母
2:数字
3:$和_
注意事项:
1:不能以数字开头
2:不能是java中的关键字
3:区分大小写
常见的命名方式:
1.常量一般要大写
2.类的开头字母一般大写
3.方法变量用驼峰体,或者下划线 exam:showAllNames(),name_show()
注释:
1:单行注释 //
2:多行注释 /**/
3:文档注释(后面讲) /** */
常量:
ps:在程序执行的过程中,其值不发生改变的量
字面常量:
A:字符串常量 "hello"
B:整数常量 12,23
C:小数常量 12.345
D:字符常量 'a','A','0'
E:布尔常量 true,false
F:空常量 null(后面讲)
数字常量表现形式:
A:二进制 由0,1组成。以0b开头。
B:八进制 由0,1,...7组成。以0开头。
C:十进制 由0,1,...9组成。整数默认是十进制。
D:十六进制 由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。
变量:
ps:在程序的执行过程中,在一定范围内可变的量。
变量的定义格式:
A:数据类型 变量名 = 初始化值;
B:数据类型 变量名;
变量名 = 初始化值;
数据格式:
ps:由于java是一种强类型语言,定了之后就不能改变了
分类:
1.基本数据类型:4类8种
2.引用数据类型:类,接口,数组
基本的数据类型:
A:整数 占用字节数
byte 1
short 2
int 4
long 8
B:浮点数 : 占用字节数
float 4
double 8
C:字符 占用字节数
char 2
D:布尔值 占用字节数
boolean 1
注意事项:
注意:
整数默认是int类型,浮点数默认是double。
长整数要加L或者l。
单精度的浮点数要加F或者f。
数据类型转换:
1.boolean类型不参与转换
2.默认转换:
A:从小到大
B:byte,short,char -- int -- long -- float -- double
C:byte,short,char之间不相互转换,直接转成int类型参与运算
long: 8个字节
float:4个字节
A:它们底层的存储结构不同。
B:float表示的数据范围比long的范围要大
long:2^63-1
float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
3.强制转换
A:从大到小
B:可能会有精度的损失,一般不建议这样使用。
C:格式:
目标数据类型 变量名 = (目标数据类型) (被转换的数据);
原码,反码,补码
计算机在进行内部运算的时候,运算是用补码进行运算的,
给我们看的是原码。例如,10这个数
首先分成两个部分看: x xxxxxxx
原码:
正数10: 0 000 1010 原码(10)
负数10: 1 000 1010 原码(-10,第一部分表示符号)
反码:
正数的反码 等于原码
负数10: 1 111 0101 原码(-10,第一部分表示符号,符号位是不变的,其他部分0,1互换)
补码:
正数的补码 等于其原码
负数的补码就是将这个负数取绝对值,然后+1,即
1 111 0101 向右走一位, 0101是5,+1是6,所以变为 1 111 0110
例子:
A:获取130这个数据的二进制。
00000000 00000000 00000000 10000010
这是130的原码,也是反码,还是补码。
B:做截取操作,截成byte类型的了。
10000010
这个结果是补码。
C:已知补码求原码。
符号位 数值位
补码: 1 0000010
反码: 1 0000001
原码: 1 1111110