=====================================================
在Java语言中存在类型提升 ,内存小的类型与内存大的类型运算时,内存小的会被提升
在int与long的运算中int的内存会被提升为8个字节 如:
由于int的内存被提升为8个字节,需要用内存大于等于8个字节来接收 i + j 的值
类型转换
Java中类型转换分为自动转换和强制转换 先说:自动转换
像这种编译过程中自动转换类型的情况 叫自动转换。 下面再说强制转换
像这种必须用人工来转换的 叫强制转换,不建议使用强制转换,它可能会导致数据丢失
(int)k相当于将8个字节砍成了4个字节,只保留前4,抛弃了后4
基本运算符(+ - * / % )
这个也很简单就是 加 减 乘 除 求模 ,前4个简单说一下,求模单独说
四则运算也没啥好说的,下面说求模
j % 2结果是 1 它的作用也显而易见了 ,就是求余数
下面补充:负数与正数的运算
可以看到结果的正负与左操作数有关((+ - * / % )都是根据左操作数决定正负)
增量运算符(+= -= *= /= %=)
这个也没啥好的直接看图
看完这段程序感觉 j+=1 就像j = j + 1 那么在看一下,下面的程序
用增值符加 1.5 不违法,但用j + 1.5就违法了所以 j += 1.5 == j = j + (int)1.5 是带有强转的
自增运算符(前置++(--),后置++(--))
++实际上是 变量 + 1;区分一下前置++,后置++就行了 看图
前置++:先++后使用
后置++:先使用后++
-- 规则相同
根据这两条规则过一下上面的程序;