运算与赋值
来源:互联网 发布:啊沁的淘宝店 编辑:程序博客网 时间:2024/06/05 17:40
整数赋值
整数输入时默认为int
byte a=1;yes
byte a=128; no,超出byte范围
int a=0b10101; yes
int a=0xff; yes
long a=123456789123; no,超出int范围
long a=123456789123; yes
byte、short ------>赋值时如果int在其表示范围内(即不影响精度)时无数据损失可直接赋值,否则强制类型转换
int------->int直接赋值,小类型自动转换,否则强制转换
long------>输入时为int,需要强制类型转换才能成功输入
浮点数赋值
浮点数输入时默认格式为double
float a = 1 yes
float a = 1.1 no,double不能赋给float
float a = 1.1lyes
double a = 1.1 Yes
浮点数与整数不同,其小数点后精度不同,即double不可能在float范围内,也就是说必须使用强制类型转换
输入数值
输入二进制数
x=-0b1010101001
x=-0B1010101001
输入八进制数
x=-017
x=077
输入十六进制数
x=0x77
x=0X77
输入二进制数时输入值为原码,数字符号另加。
由于其不能带符号位,所以位数最高为(类型大小-1)
运算
算数运算符:+ - * / %
单目按位运算符:^ ~ | & << >> >>>
三目运算符: ? :
bytea=2+2; yse
数值 运算符 数值——>先将低级的转化为高级的,算出来,然后当做一个数参与其他运算
三目运算时,低级同样转化为高级
bytea=2;
a=a+2; no
byte i=1,j=1;
i=i+j; no
变量 运算符 变量 先将低级的转化为高级的,然后进行运算,此时不支持范围内自动转化
或 ——>
数值 运算符 变量 整数运算低于int的转为int,然后进行运算,其余在自己的模式下进行
三目运算时,低级同样转化为高级,但支持范围内自动转化
另:& | ^三个同样可以用于逻辑运算中
赋值运算符: += -= *= /= %=
byte a =1;
a+=2+2;
这种运算符自带强制转化功能,即a=(byte)(a+(2+2));
等号后面的自带升级效果,先算再与原数相运算
单目运算符:++ -- - (类型)
自己加一 减一 负号 强制转换 取地址 指针
其他注意事项
1、三目运算符
结合顺序从右边到左边(1>2?1:3>4?5:6;--->1>2?1:(3>4?5:6);)。
其本身为普通运算符(相当于+),所以必须有一个存在价值,比如作为返回值或赋值号右边。
优先级仅仅大于赋值符号,(2+(1>2)?1:2--->2+(1>2)?1:2,此时问号前不为Boolean)
2、运算符优先级由高到低
() (小括号) >
单目运算符 取非、按位取反(从右向左)(++ -- - (类型)!~) >
算数运算符(从左向右)(+ - * / %) >
按位移动运算符(从右向左)( << >> >>> ) >
关系运算符(< > >= <= == !=) >
按位的与、异或、或(& ^ |) >
逻辑的与、异或、或(&& &、 ^ || |) >
三目运算符(从右向左)(?:)>
赋值运算符(从左向右)(+= -= *= /= %=)
- 赋值运算与位运算
- 算术运算与赋值运算
- 算术运算与赋值运算
- 运算与赋值
- 2.9、赋值运算符与赋值表达式
- C++赋值运算符与赋值表达式
- JavaScript赋值运算与数值运算
- cppTest-7.4:对象赋值与重载赋值运算符=
- c语言:赋值运算符与赋值表达式
- 拷贝构造函数与赋值运算符
- 复制构造函数与赋值运算符
- 拷贝构造函数与赋值运算符
- JavaScript赋值运算符与表达式
- Shell学习笔记---变量赋值与运算
- 拷贝构造函数与赋值运算符
- Java赋值、运算符与类型转换
- 加减乘除与赋值 算术运算符
- c++拷贝构造函数与赋值运算
- bootstrap-treeview
- SQL SERVER高性能写入方法的总结
- 点击一个按钮,所有按钮都变颜色
- 解构亚马逊Alexa的1.5万种技能
- html5中表单的几个新样式
- 运算与赋值
- Codeforces Round #423 E. DNA Evolution (树状数组)
- SQL SERVER 2008导出excel时注意事项
- 《无人机通信与导航技术》札记
- Git的常用命令
- 同步和异步
- 聚合支付相关文章
- Codeforces Round #423 D. High Load
- Android NDK开发相关知识集合