
1)boolean不参与基本数据类型转换。
2)基本数据类型的精度排序
byte < short < char < int < long < float < double
3) 隐式数据类型的转换 [自动数据类型转换]
数据类型精度低的转换成数据类型高的这个过程就是隐式数据类型转化。
低高 隐式数据类型转换[自动数据类型转换]
4)显式数据类型转换 [强制数据类型转换]
数据类型精度高的转换成数据类型精度低的这个过程就是显式数据类型转换。
高低 显式数据类型转换[强制数据类型转换]
转换格式:
格式: 低数据类型 变量名称 = (低数据类型) 高[值/变量];
转换char与int
5)int 转换成 byte 特殊的
2.Java中的运算符 2.1 赋值运算符 = 2.2 算术运算符byte转换成int---隐式数据类型转换【自动数据类型转换】
int转换成byte---显式数据类型转换【强制数据类型转换】
1.当整数int转换成byte时,int取值正数超过byte范围以后,会从byte最小值向前推进计算。
2.当整数int转换成byte时,int取值负数超过byte范围以后,会从byte最大值向后推进计算。
2.3 比较运算符
- +
数字 加法
字符串 拼接的作用
- - 数字 减法
- * 数字 乘法
- / 数字 除法
- % 数字 取余(取模)
- ++ 数字 自增(自己+1)
- -- 数字 自减(自己-1)
>
大于返回一个boolean(布尔值)<
小于>=
大于等于<=
小于等于==
等于{位运算符 | & ! ~ ^ >> << }
位运算符需要将数据转换成2进制【00101010】数据进行运算
掌握10进制转2进制 :短除法[笨] 8421码转化法
1024 512 256 128 64 32 16 8 4 2 1
7=4+2+1— 0 0 0 0 0 0 0 0 1 1 1 --- 00000111
13=8+4+1-- 0 0 0 0 0 0 0 1 1 0 1 --- 00001101
负数的2进制:实质上补码表示
正数的补码是本身
负数的补码是反码+1
反码的表示方法是:
正数的反码是其本身【原码】
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
原码就是符号位加上真值的绝对值,即用第一位表示符号, 其余位表示值.
-7--7的2进制--00000111--[-7的源码]10000111---[-7的反码]11111000--[-7的补码]11111001
(7 & -7)
0000 0111 (7二进制)
1111 1001 -7二进制反码
00000001 得 1
(7 | -7)
0000 0111
1111 1001
1111 1111 (反码)
得 -1
(7 ^ -7)
0000 0111
1111 1001
1111 1110 (反码)
得 -2
(〜 - 7)
1111 1001
0000 0110
得到6
7 << 2
0000 0111
0001 1100
得 28
7 >> 2
0000 0111
0000 0001
得 1
面试题:最有效率的方法算出2乘以8等於几? 2<<3; 表示2 向左移3位
2.5 三元运算符格式:
【(判断)? 数据值1 :数据值2】
先判断,判断结果为true,整运算表达式的结果取数据值1
判断结果为false,整运算表达式的结果取数据值2
无奈源于不够强大
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)