java 中if-lese语句return报错的问题

前言:记录记一下小问题用于回顾,需要有返回值的函数里,return在if语句中的位置会引起一些小问题。


class test{public int Test() {int a = 1;if (a > 0)return 0;} 
} // 报错

只有if不可通过,原因是java编译器认为if语句不一定包含所有情况。

class test{public int Test() {int a = 1; if (a  > 0)return 0;elsereturn 1;} 
} // 通过

if-esle 可以通过,此时编译器认为包含了所有情况。


class test{public int Test() {int a = 1;if (a > 0)return 0;else if (a <= 0)return 1;} // 即使包含了所有可能,但仍然不可通过

重点!编译器认为不可以!解决方法是利用一个临时变量temp记录下需要返回的值,(return temp;)即可。


class test{public int Test() {int a = 1;while (true){if (a > 1)return 0;}}
} // 可以通过

可通过,while语句传入true参数时,编译器认为while语句任何情况都可以执行。



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部