首页 > 代码库 > (我是初学者)自己关于java初学函数方法时的一些疑问即验证
(我是初学者)自己关于java初学函数方法时的一些疑问即验证
学到函数方法了,这个可以在以后我们写程序时,遇到要多次重复的操作的时候,不用每次都写一次,直接调用就行了。
减少了我们的工作量,而且也降低了错误率。但是在联系,也有一些疑惑。
public static boolean test(int a){ if(a>0){ return true; } else { return false; } }
这个函数方法是判断a是否为正数,并返回一个boolean的值,当我们调用test时,boolean bl=test(a);然后就可以用bl去做判断,或者直接if(test(a))这样调用。
再看第二段代码
public static void test1(int a){ if(a>0){ System.out.println(a+"是正数"); } else { System.out.println(a+"不是正数"); } }
test1和上一段很相似,只是返回值为空,我们认为不返回,a>0时,输出字符串“不是正数”,否则输出“不是正数”,这个也很好理解。
但我有个疑问,这样的情况又会输出什么呢?
1 public static void main(String[] args) { 2 int a=5; 3 if(test(a)); 4 System.out.println(a); 5 System.out.println(test(a)); 6 } 7 8 public static boolean test(int a){ 9 if(a>0){ 10 System.out.println(a+"是正数"); 11 return true; 12 } 13 else 14 { 15 System.out.println(a+"不是正数"); 16 return false; 17 } 18 }
test是一个返回boolean值的函数方法,那么在主函数中调用的时候,test中的System.out.println()会出现在结果中吗?这是我当时的一个疑问,因为第3行调用testi是判断它的返还值,那“是正数”会出现在结果中吗?
运行结果:
分析下,主函数中输出语句2次,第一次第4行,输出a,即结果中的第二行,那么结果中第1行"5是正数"就是函数方法test中输出的,同理,第3行也是。
所以得到结论,不管函数方法的返还类型是什么,调用的时候,该函数中的所有内容都会运行。
虽然这个疑问可能在很多人看来很简单,只要随便一问就行了,但自己去验证,这样的印象会更深刻
(我是初学者)自己关于java初学函数方法时的一些疑问即验证
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。