A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kuailedaojia 中级黑马   /  2016-2-19 15:35  /  897 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

赋值运算符(=,+=,-=,*=,/=,%=)在执行+=语句时,编译器在编译的时候,默认进行了强制类型转换,也就是将int类型的数据转换成short类型的数据。
算术运算符 + 加或者连接符 % 取余,符号看左边 (类型名)表达式 强制转换
比较运算符(>,<,==,!=,>=,<=)结果为boolean,instanceof检查是否是类的对象
逻辑运算符用于连接两个boolean类型的表达式 & 与 | 或 ! 非 && AND(短路,效率高) || OR(短路,效率高) (!>&&>||) ^ 异或,不同为真。
位运算符 <<左移几位乘2的几次方;>>右移除2补与最高位相同的1或0;>>>无符号右移,被移位二进制最高位无论是1或0空缺位补0;~反码;
&与,|或,^异或,一个数异或同一个数两次,结果还是这个数(加密)。
转义符  \t 输出8个空格就相当于一个制表位Tab,\n换行,\b退格相当于Backspace,\r按下回车window系统中有两种,\”\”输出“”
优先级:赋值》算术》关系》逻辑
运算符 一元 i++ i--//先使用后对自身加一 int i=1;int b=i++;b=1,i=2; ++i --i//先对自身加一再使用即都为二 b+=a;<=>b=b+a;现加后赋值;二元 + - * / %;三元 ?//int a=100;int c=a>100?200:500;c=500

11 个回复

正序浏览
我为了金黑马学习,必须回复
回复 使用道具 举报
hainan080697 来自手机 中级黑马 2016-2-20 10:52:35
11#
很好啊,正在努力学习
回复 使用道具 举报
zzh111 发表于 2016-2-19 17:52
不是int转short,而是short转int。因为整形(byte、short、int、long)参加运算时,都会转化为int型的数 ...

懂了~!  感谢大神
回复 使用道具 举报
受教了,膜拜大神
回复 使用道具 举报
zzh111 中级黑马 2016-2-19 17:52:20
8#
Jessrabbit 发表于 2016-2-19 16:12
赋值运算符(=,+=,-=,*=,/=,%=)在执行+=语句时,编译器在编译的时候,默认进行了强制类型转换,也就是 ...

不是int转short,而是short转int。因为整形(byte、short、int、long)参加运算时,都会转化为int型的数据类型,float、double运算时会转化为double。
如:short a = 2;   a = a + 1;    会报错
      short b = 2;   b += 1;    不会报错,因为 += 会默认强制转换。
回复 使用道具 举报
ruzi1 发表于 2016-2-19 17:39
你写的还行,就是再具体点就好了!

好的,下回注意!
回复 使用道具 举报
你写的还行,就是再具体点就好了!
回复 使用道具 举报
Jessrabbit 发表于 2016-2-19 16:26
那超过了short范围的数字参与运算时呢?   还会不会强制转换?

超过的话就会出现错误,如果仍需要算int型,最好不用缩写!
回复 使用道具 举报
kuailedaojia 发表于 2016-2-19 16:21
int和short都是整数类型,short是2字节有符号整数的补码,int跟它类似但是却是4字节,也就是说把4字节强 ...

那超过了short范围的数字参与运算时呢?   还会不会强制转换?
回复 使用道具 举报
Jessrabbit 发表于 2016-2-19 16:12
赋值运算符(=,+=,-=,*=,/=,%=)在执行+=语句时,编译器在编译的时候,默认进行了强制类型转换,也就是 ...

int和short都是整数类型,short是2字节有符号整数的补码,int跟它类似但是却是4字节,也就是说把4字节强制转换成2字节了!
回复 使用道具 举报
赋值运算符(=,+=,-=,*=,/=,%=)在执行+=语句时,编译器在编译的时候,默认进行了强制类型转换,也就是将int类型的数据转换成short类型的数据。这句不懂,为什么是int转short?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马