1.JVM JRE JDK 之间的联系
JRE(Java Runtime Environment) = JVM + 核心类库
JDK = JRE + java的开发工具
运行环境需要有虚拟机和核心类库,而java开发环境需要有Java运行环境的Java开发工具支撑。
三者之间的关系 ( JDK ( JRN ( JVM ) ) )
块注释 : /*...*/
常用于注释多条代码,说明文件,方法,数据结构等的意义与用图,一般位于一个文件或者一个方法的前面。
文档注释 : /**...*/
写入javadoc文档,用于生成html格式的代码报告,所以注释文档必须写在类,域,构造函数,方法,以及字段定义之前。
2.标识符
要求:字母 数字 下划线 $ 构成;不得包含空格;区分大小写;不能够用关键字作为标识符;
3.基本数据类型
byte(字节型) : 8位 用于存储以字节计算的小额数据,处理网络或文件的数据流时,用途很大
short(短整型) : 16位 用于存储小于32 767的数字,如员工编号
int(整形) : 32 位 用于存储较大的整数
long(长整型) : 64 位 用于存储非常大的数字
float(单精度浮点型) :32 位 用于存储带小数的数字,如产品价格,身高
double(双精度) : 64位 存储精度要求高的数据,银行余额
boolean(布尔型) : 1 位 用于存储真假,用于判断
char(字符型) : 16位 用于存储字符数值,如性别男/女
一个字节=八位
为啥byte的范围是-128到正的127
java 里面的数不支持无符号类型,全是有符号类型的数。
首先,因为byte是8位,然后又因为二进制的最高位是符号位,正数是0,负数是1,所以表示大小的就是剩下的位数。
对于byte来说就是七位,七位正数最大的就是**1111111** 转换成十进制就是127,从 2的0次方加到2的6次方。
然后负数呢,涉及到负数的编码方式:
这里模是256,所以10000000到11111111其实表示的范围是-128到-1\
因为10000000是128,补数是-128,11111111是255,补数是-1。\
所以,byte的范围是-128到127,一共256个数。
3.转义字符
\' 单引号 如果想输出什么符号那么在其前面加上反斜线 \" \\
\b 退格
\r 回车
\n 换行
\t 制表符
4.类型转换
自动类型转化
byte ————》short ————》 int——————》long——————》double
int——————》double
int——————》float——————》double
char————》int
强制转化
double a = 1.1;
int b = (int)a;//b = 1
5.算数运算符
a++先取值再自增
++a先自增后取值
6.原码 反码 补码
1.二进制的最高位时符号位 : 0 表示整数 , 1 表示负数
2.正数的原码 反码 补码 都一样 三码合一
3.负数的反码 = 它的原码符号位不变,其他位取反
4.负数的补码 = 他的反码 + 1,负数的反码 = 他的补码 - 1
5.0 的反码 补码都是 0
6.java 中的数都是有符号的
7.在计算机运算时都是以补码的方式来运算的
8.当看运算结果是要看他的原码
7.进制转换
1.二进制 八进制 十六进制 ————> 十进制
二进制: 0b 1011 --> 1*2^0 +1*2^1 + 0*2^2 +1*2^3
八进制: 0234 --> 4*8^0 + 3*8^1 + 2*8^2
十六进制: 0x 23A --> 10*16^0 + 3*16^1 + 2*16^2
2.十进制————>二进制 八进制 十六进制
二进制除以2
八进制除以八
十六进制除以十六
8.条件运算符
三元运算符--> <表达式> ? e1 : e2 : 表达式为真则返回e1表达式为假返回e2,可代替if语句,比较简便