版权声明:CSDN著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。 https://blog.csdn.net/qq_38647878/article/details/88595248
数据的转换
隐式转换:系统可以自动接收小数据类型转换大数据类型
§ 赋值时:
□ byte->short->int->long->float->double
□ char->int->long->float->double
运算时:
□ 小于等于int类型的整数进行运算,会自动升级为int再进行运算。
□ 小于等于long类型整数与long进行运算,会自动升级为long再进行运算
□ 如果和float运算,升级为float
□ 如果和double运算,升级为double。
□ 如果=左边的变量类型小于=右边的类型,要进行强制转换。
强制转化:系统对于范围较大的数据类型转换为小数据类型不能直接接收,需要将其强制转换为所要转的类型
§ 格式:变量 = (指定的类型)数值,指定的类型要与变量类型一致
□ 例如: int num = 100;
short num2 = num;
有上篇文章我们知道short范围为-128~127;按理说是可以存下100的,但由于系统在数据类
型转换时是先转换再存入内存,因此系统在大类型转小类型是并不会知道所转换的数据是否
超出了小类型所能存储的范围,故而直接报错。这时需要我们加入强制转换告诉计算机这个
数可以转换。
short num2 = (short) num;
运算符
-
赋值运算符:=
-
§ 这个比较简单,就是把一个值赋给一个变量,例如:
int num = 12; String str = "hello";
-
-
算术运算符:+ - * / %(模) ++ –
§ int m = 12; § int n = 8; § int sum = m + n; § int result = m - n; § int res = m * n; § res = m / n; □ 注意:整数与整数相除,结果取整(抹掉小数部分) § 除法里,除数不能为0 § res = m / 0; --->结果报错 § int x = 100; double b10 = 4; b10 = x / b10; --->结果为小数 § %用于求余数。 □ int a1 = 15; □ int b1 = 4; □ int c = a1 % b1; □ int d = a1 / b1; § float e1 = 13.5f; float f1 = e1 % b1; --->结果为1.5 § 求余数的时候,余数始终与被除数符号一致。 □ int x1 = -8; □ int y1 = 5; □ int z1 = x1 % y1; § 自增运算符: □ num++; 等价于num = num + 1; □ ++num; 等价于num = num + 1; □ ++在变量前面,先增1,再使用便令。 □ ++在变量后面,先使用变量,在增1 □ --运算符用法与++类似
-
复合运算符 += -= *= /= %=
§ result += number1; □ 等价于 result = result + number1; § result -= number2; □ 等价于 result = result - number2; § result *= number2; □ 等价于 result = result * number2; § result /= number1; □ 等价于 result = result / number1; § result %= number2; □ 等价于 result = result % number2;
-
关系运算符:> >= < <= == !=
§ 关系运算符的运算结果一定是一个boolean
-
逻辑运算符:&&、|| 、!
§ &&:逻辑与(读and),表示并且,用来连接2个表达式 □ &&两侧的表达式都为真,结果才为真 □ 注意:如果&&前面的表达式为假,后面的条件就不再执行(这个被称为短路现象) § || :逻辑或(读或),表示或者, □ ||左侧或右侧有一个为true结果为true □ 只有在2者都为false时结果才为false □ 如果||左侧的表达式为true,就不再执行右侧条件(同样被称为短路现象) § !:逻辑非,作用就是取反,!右侧是个表达式 □ 如果表达式值是true,则结果为false
-
三目运算符 :
?:
§ 格式:表达式1?表达式2:表达式3 § 若表达式1为true则整个表达式结果为表达式2的值 § 若表达式1为false则整个表达式结果为表达式3的值 例如:int x=28,y=32; int result=x>y? x*2+1 : x+y;
-
位运算符:& | ~ ^ << >>
计算机里面存放数据以补码的方式存放 位运算符 符号 计算规则(通过补码方式计算,最后结果转为原码) 示例 按位与 & 有0则为0,同1则为1 3&2=2 按位或 | 有1则为1,同0则为0 3|2=3 按位非 ~ 按位取反,公式:~x=-(x+1) ~3=-4 按位异或 ^ 相同为0,相异为一 3^2=1 左移 << 整体往左高位移动,左移n位相当于乘2*n次方 2<<1=4 右移 >> 整体往左低位移动,右移n位相当于除2*n次方 2>>1=1
注:关于位运算符涉及的进制(原反补码)详解请看下方博主的文章。
原码, 反码, 补码 详解
作者:张子秋
出处:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html