int a = 10;
int b = a++;
先取值,再自加
然后我们老师上课说到a++运算会转换数据类型
给我们举了一个int a++ 后强转short的例子
当然他失败了……
然后我就去查了一下,short a;a+=1;
a会被自动转成int
那a++到底有没有类型转换?萌新顺便问一下这个给分数是啥啊
int b = a++;
先取值,再自加
然后我们老师上课说到a++运算会转换数据类型
给我们举了一个int a++ 后强转short的例子
当然他失败了……
然后我就去查了一下,short a;a+=1;
a会被自动转成int
那a++到底有没有类型转换?萌新顺便问一下这个给分数是啥啊
解决方案 »
- 请教
- ssh+oracle+resin下的java.lang.AbstractMethodError错误
- org.w3c.dom.Element的getElementsByTagNameNS()方法对应的DOM2可替代的方法是什么?
- Servlet action is not available
- 异常:/hibernate.cfg.xml not found
- EJB3中循环提交的问题
- 本人还需要什么知识才能学Struts?(具体在内容)
- 什么是Struts?????
- 有关Java打印的问题,高手近来指点,讨论
- tomcat重复配置出错问题
- HttpURLConnection不能设置Authorization
- java工厂方法模式
byte b =1;
short s =2;
char c = 3;
int i = 4;
b = (byte)(b+s+c); //byte,short,char类型在进行运算时会自动转成int型
b+=s; //赋值运算符自带强转功能
//s = c++ ;不能将char类型的数据转为short类型,因此自增运算符不具有强转功能
i = s++; //这里的s++是short型,但是如果赋值给int类型的i的话会发生自动类型转换
s = b++; //同上,byte类型自动转为short
a++
和
short a =1;
int b;
b=a++;
是一样的,a++的值就是int类型的。类型转换分1.自动类型转换和2.强制类型转换
一般我们无须在意,因为你一般写代码都是使用的自动类型转换,系统会给你转换好,无须你自己操心。
自动类型转换是将表示范围小的数据类型赋值给表示范围大的数据类型时,Java自动使用隐式类型完成数据类型转换,即
低------------------------------------------------------------------------------------------------------------------->高
byte ------------> short/char ------------> int ------------> long ------------> float ------------> double
而强制类型转换就是比如说你的数据是float类型的,但是输出结果你要的是int类型的,这个时候你就要强制类型转换。(如下)在a前加一个括号写上你要转换的类型。
float a=1.5f;
int b= (int)a;
这个给分数应该是你这个问题我们要是回答了你就会给我们的分数吧,我不太清楚,因为我从来没有自己发过贴,你要是明白你这个题的话就赶紧结账吧
而a++是a=a+1;b=a;