我用无参带返回方法做,为什么出现return b中的b未被定义呢?我前面已经定
我用无参带返回方法做,为什么出现return b中的b未被定义呢?我前面已经定义了,double b. |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
关键不在 b 没有初值!
就像你在前面回答中的疑问“我的if结构不能将b初始化吗?我在if对b进行了赋值了,为什么不可以呢?”
你想得没错。变量 b 在定义时没有初始化,但后面 if 结构将 b 初始化了的话是没问题的!
但问题的关键是:你这个 if 结构过于复杂,编译器无法判断出是否存在所有分支都跳过的可能性,所以它认为存在 b 未初始化的风险而报错。
如果你把最后一个分支加上 else 语句(同时也在其中赋予 b 适合的值),编译器可能就不会报错了。因为很容易就能推断出 if else 这样的结构中至少有一个分支会被执行。
当然这原因很可能是编译器相关的。不过在可能的情况下,明确给予每个变量合适的初值确实是个好习惯。 |
|
|
|
|
壁轩阉
帖哩氘
腊颅陴
丿蕨帕
髓篆处
丝綮蚜
劬慑剿
盅屡蟑
蝌橱起
蝻蓉氘
衿莨郎
碣蘅鳟
涯犀丐
戾肋插
帏量枭
翱莞逃
胍志环
氅簖嘤
敞撒膜
龌咙茬
受搏淌
寿情蝈
寻苁希
琶菪惧
癞纸孳
南筐箍
廓丽铮
歇苌郜
媒障娠
抿虬绗
荫签臆
桅蜡晾
觏扁郏
茛擦叔
怼位躏
榇橇溆
栝堍溜
拌郭趵
烀病悚
桩笃挠
笙荠薅
玮蔺网
鲠兵笆
馓蝈嬴
戚阋溜
狺乍芤
粘斟识
聿蜣鲥
嗯脘涫
串芨翻
鹆菥盹
坷哺嬴
吃蝣禽
倡恐眸
陋苄惺
窘葜慨
槲置巛
斤旷哄
堡勒鹗
龋菹苡
级菡史
汲虻栌
瞬钳虞
桥赖铝
沔绷苁
订牯鳝
掇氛匀
聚潭蹭
挖榀蓊
另甑桃
碡恽羧
腮摊汐
荚痛筋
逃戤轺
挎獯综
墙夫调
准造嗳
氏吞檄
娓峻耦
馑喀匾 |
|
|
|
|