为了账号安全,请及时绑定邮箱和手机立即绑定

请教各位,int avg2="78.5"+rise 为啥不行呢?

public class HelloWorld{

    public static void main(String[] args) {

double avg1=78.5;

int rise=5;

int avg2="78.5"+rise;

System.out.println("考试平均分:"+avg1);

System.out.println("调整后的平均分:"+avg2);

}

}


正在回答

6 回答

public class HelloWorld{

    public static void main(String[] args) {

double avg1=78.5;

int rise=5;

//           自动类型转换是需要满足特定的条件的 :

//             目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节

double avg2=avg1+rise;

System.out.println("考试平均分:"+avg1);

System.out.println("调整后的平均分:"+avg2);

}

}


0 回复 有任何疑惑可以回复我~

有双引号的变量或值是String类型,与int类不兼容,所以"78.5"不能赋值给avg2

0 回复 有任何疑惑可以回复我~

double avg1=78.5;

int rise=5;

int avg2="78.5"+rise;

int avg2 = "78.5" + rise;  //  其中--"  "--这个出现的为错误
//  int 型是4字节   double  型是8字节  这个是强制类型转换

double avg1 = 78.5;
int    rise = 5;
int    avg2 = (int)(78.5+5);
System.out.println(avg2);
//  输出结果为--83,


0 回复 有任何疑惑可以回复我~

"这个里面" 的是String 类型你无法赋值给int 型。

0 回复 有任何疑惑可以回复我~

78.5已经赋值给avg1了


0 回复 有任何疑惑可以回复我~
// 因为你定义的变量avg2是整形,需要强制转换类型
int avg2 = (int)78.5 + rise;


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请教各位,int avg2="78.5"+rise 为啥不行呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信