首页 > 代码库 > (我是初学者)自己关于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初学函数方法时的一些疑问即验证