javas
问题:
public class Operator {
public static void main(String[] args) {
opreator1();
opreator2();
}
private static void opreator1() {
short s = 1;
s = s+1;//会报错
System.out.println(s);
}
private static void opreator2() {
short s = 1;
s += 1;
System.out.println(s);//输出2
}
}
相信大家测试上述代码时会看到opreator1()会报错opreator2()可以运行。
opreator1()报错原因
整数的数据类型默认是int类型。而数据类型的转换是:
: byte,short,char -- int -- long -- float -- double
所以s+1默认转换为int类型。
详情可以参考https://blog.csdn.net/qq_35654259/article/details/83928874
opreator2()可以运行原因
s += 1;等价于s = (s的数据类型) (s+1)
文章最后发布于: 2018-11-14 19:40:00
相关阅读
你是否已经发现软文推广没有想象的那么简单,尝试下来,碰到各种“坑”,一来没有太多时间构思和写作一篇足够软的软文,二来没
2017年国庆节京东商城肯定是有活动的,那么京东2017国庆节促销时间表大家知道吗?如果大家知道这个时间表,就可以按照时间去参加促销
Q: Windows 10系统如何关闭自动更新来解决因为系统补丁带来的性能故障? A: 家庭版机型可以通过禁用Widnwos Update服
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> img{ position
论-100000乘以-100000 #我真是闲的无聊,菜的一批,才会去论-10000乘以-100000,但我不知道为什么会爆?#计算完成之后类型转换#计算完成