2-Java基本数据类型和运算符

目录

Java基本类型

Java运算符

1、Java基本类型

1.1、boolean布尔

- 只有true和false两种值,默认是false

1.2、byte字节

- 1byte = 8bits

- 范围-128到127,默认值为0,范围超出则翻转(即128=-128)

- byte在大型数组中可以显著节省空间,主要代替小数,因为byte变量占用的空间只有int类型的四分之一

- byte在二进制文件中使用较多

1.3、short/int/long短整数/整数/长整数

- 1short = 2byte = 16bits

- short范围在-2^15到2^15-1之间,默认值0,范围超出报越界error

- 1int = 2short = 4byte = 32bits

- int范围在-2^31到2^31-1之间,默认值0,范围超出报越界error

- 1long = 2int = 4short = 8byte = 64bits

- long范围在-2^63到2^63-1之间,默认值0,范围超出报越界error

- 注意long型数在末尾会有一个L,标志它是long类型

定义一个long型变量,赋于一个int类型的值,则会隐性的转化为long类型(即打印出来的数末尾会有个L)

1.4、float/double浮点数

- float单精度浮点数,占32bits,4byte

- float的范围为1.4*10^-45到3.4*10^38(无论正负),默认值为0.0f

- float赋值必须在末尾带f

- double双精度浮点数,占64位,8byte

- double的范围为4.9*10^-324到1.7*10^308(无论正负),默认值为0.0d

- double赋值可以省略末尾的d

- float和double都不能表示很精确的数字

1.23f == 1.229999999f//true

4.56 == 4.559999999999999999d//true

1.5、char字符

- char是一个单一的16位的Unicode字符,以\u开头,和4个16位数字组合而成

- 最小值是\u0000,即为0

- 最大值是\uffff,即为65535

- char可以存储任何字符

2、Java运算符

2.1、算数运算符

- 双目:加+、减-、乘*、除/、余%

- 单目:自增++、自减--

2.2、赋值运算符

赋值:a = 3

a += 3 ---> a = a + 3

a –= 3 ---> a = a – 3

a *= 3 ---> a = a * 3

a /= 3 ---> a = a / 3

a %= 3 ---> a = a % 3

2.3、逻辑运算符

短路或&&------------------a和b全为true时结果为true,当a为false时结果直接为false不计算b(节省时间)

短路且||-------------------a和b全为false时结果为false,当a为true时结果直接为true不计算b(节省时间)

逻辑非!--------------------!true == false,!fasle == true

逻辑或&-------------------a和b全为true时结果为true,无论a的计算结果如何,都要计算b

逻辑且|-------------------a和b全为false时结果为false,无论a的计算结果如何,都要计算b

2.4、位运算符

- 只针对整型byte、short、int、long进行运算

- 按位与&:同位对比,只有两位都为1时,结果才为1

- 按位或|:同位对比,两位中其中1位为1时,结果就为1

- 按位异或~:同位对比,两位不同时,结果为1;两位相同时,结果为0

- 按位取反^:将每一位都取反,得到结果(单目运算)

- 左移<<:a << 2表示,将a转为二进制,将所有二进位全部左移2位

- 右移>>:a >> 2表示,将a转为二进制,将所有二进位全部右移2位

2.5、关系运算符

大于>、小于<、等于==、大于等于>=、小于等于<=、不等于!=

2.6、运算符优先级

- 括号的优先级最高

- 单目运算优先级大于多目运算

- 算数运算符*/大于+-

- 算数运算符优先级 > 关系运算符 > 逻辑运算符

你可能感兴趣的:(2-Java基本数据类型和运算符)