类型转换:
![](https://i-blog.csdnimg.cn/blog_migrate/882685790e4724305de3e5eb724e9479.png)
强制转换会丢失精度
注意:byte short char三种类型在运算时会自动提精度:
![](https://i-blog.csdnimg.cn/blog_migrate/464037214cc09076c2e3d6a31c885528.png)
强制转换:
![](https://i-blog.csdnimg.cn/blog_migrate/b7c3cdfae10d51c7962235365263349c.png)
注意:下面的操作会导致错误
![](https://i-blog.csdnimg.cn/blog_migrate/cebf3b71be03a15ae39b9b60792fe4a8.png)
字符串的“+”操作:
![](https://i-blog.csdnimg.cn/blog_migrate/8ef199f1ae549e47262c4fbb3e38c193.png)
+= -= /= %=操作:
![](https://i-blog.csdnimg.cn/blog_migrate/61d6316a38f183cecc01615b2c7c868a.png)
细节:这些操作内置了一个强制类型转换
三元运算符:
![](https://i-blog.csdnimg.cn/blog_migrate/d1e10f51d6d581b99db99171ca8ddb40.png)
若表达式为真,返回a;表达式为假,返回b;
应用:求a,b,c中的最大值
int result= a > b ? ( a>c ? a : c) : ( b>c ? b : c);
运算符优先级:
![](https://i-blog.csdnimg.cn/blog_migrate/e9afe689f4e66b3751bc04c8f2d0ea49.png)
左移运算符:
![](https://i-blog.csdnimg.cn/blog_migrate/080d5e1a79b967dc54064e400ca45d04.png)
左移一次相当于*2,右移一次是/2;
无符号右移:
![](https://i-blog.csdnimg.cn/blog_migrate/973711f652558667b28d0b5b687fe8b7.png)
也就是无论原本是正是负,最后都为正;
循环内的局部变量定义:
循环内的变量在循环内定义,循环结束后变量生命周期随之结束;