变量初始化问题。
public void price(double a){ double price2; if(a<100){ price2=a; }else if(a<=199){ price2=a; }else if(a>=200){ price2=a; System.out.println("折后商品总价为:"+price2); //① } System.out.println("折后商品总价为:"+price2); //② }
以上代码为某个类中的一个方法。为什么②处会报变量未初始化错误?(①处不会报错)代码不是从上往下执行,然后我在if-else结构中不是给price2赋值了么?
13
收起
正在回答
2回答
你写
if(a > 10){ price = 1; } if(a <= 10){ price = -1; }
计算机是会报错的。
你写
if(a > 10){ price = 1; }else{ price = -1; }
计算机就不报错。
计算机编译的时候只做语法检查,if else从语法结构上就保证了,price必被赋值。
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星