如题;
public class test {
public static void main(String[] args) {
long a,b,c;
a = (long) Math.pow(2,31);
b = 1;
c= a+b;
System.out.println(a+"\n"+c);
}
}
不是所有整型变量进行计算前都会自动转换成 int 型吗?a 转换成 int 型超出了- 2^31 ~ 2^31 - 1 的范围,为什么编译不会出错?
java中两个不同类型的整型变量进行计算,得出的结果是什么类型?
答案:2 悬赏:0 手机版
解决时间 2021-03-02 15:16
- 提问者网友:战皆罪
- 2021-03-01 21:22
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-03-01 22:12
你这是long类型的啊...long类型比int范围大啊
数据类型 大小 范围 默认值
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
数据类型 大小 范围 默认值
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
全部回答
- 1楼网友:孤独的牧羊人
- 2021-03-01 23:36
parseint(strc);中的parseint应该写成parseint。
integer i2=integer.parseint(strc);
平时写程序的时候注意养成良好的书写习惯就可以避免很多的错误。还有就是可以用“.”的时候尽量不要自己拼写。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯