(我是初学者)自己关于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行也是。

所以得到结论,不管函数方法的返还类型是什么,调用的时候,该函数中的所有内容都会运行。

虽然这个疑问可能在很多人看来很简单,只要随便一问就行了,但自己去验证,这样的印象会更深刻

时间: 2024-08-28 02:29:46

(我是初学者)自己关于java初学函数方法时的一些疑问即验证的相关文章

平时容易忽视的地方之一:java在抽取方法时,什么时候该用void

当一个类中多个方法有相同编码,或该部分编码可以作为一个整体,适合抽取出一个方法时,要注意这个抽取的方法的返回值,什么时候可以用void,什么时候不能用void? 先看代码: import lombok.Data; import org.junit.Test; public class MyTest { @Test public void test(){ Student student = new Student(); student.setName("Jacky"); int age

《JavaScript语言精粹》读书笔记——给类型增加方法一节的疑问

最近,在学习<JavaScript语言精粹>这本书,发现译者虽然有很好地翻译文章,却没有对文中有疑问的地方进行改正或加以注释.我接触JavaScript只有一年左右,可能无法很好的理解这门语言,而今天,读到第四章中4.7节——给类型增加方法时遇到了疑问之处: 文中给出了对类型增加方法的示例: Function.prototype.method = function (name, func) { this.prototype[name] = func; return this; }; 这里的示例

java函数方法

1.方法重载 (1)源代码 // MethodOverload.java // Using overloaded methods public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " + square(7)); System.out.println("\nThe square of doubl

java函数(方法)练习

java函数(方法)练习:A:求两个数据之和B:判断两个数据是否相等C:获取两个数中较大的值D:打印m行n列的星形矩形E:打印nn乘法表 A:程序如下:package function; import java.util.Scanner; public class Sum {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("数据1:");int x=

Java回调函数详解

为了了解什么是回调函数,在网上查阅了如下资料,整理如下: 资料一: 首先说说什么叫回调函数? 在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就 称为回调.在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃. 这样的解释似乎还是比较难懂,这里举个简 单的例子: 程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序.程序员B要让a调用自己的程

java回调函数机制

Java回调函数机制 参考了网上的一些资料,下面也做出一些总结,供初学者了解学习. 一. 概述 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调.异步调用 . 同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用: 回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 异步调用:一种类似消息或事件的机制,解决了同步阻塞的问题,它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户

Java初学之华容道游戏

1 package hhuarongdao; 2 3 public class example { 4 public static void main(String args[]) 5 { 6 new Hua_Rong_Road(); 7 } 8 } 1 package hhuarongdao; 2 import java.awt.*; 3 import javax.swing.*; 4 5 import java.awt.event.*; 6 public class Hua_Rong_Roa

Kotlin——基础的函数/方法详解

对于Kotlin中的函数来说,和JavaScript或者Lua这些语言很像,它有着这些语言的特性.但是也与这些语言就着许多不同之处.或许你更了解Java语言,然而对于Java语言来说,它不是不是闭包这个特性的.由于在这篇文章主要是讲解函数的基本使用,故而只会讲解到函数的定义.函数的返回值.函数的参数等.剩下的部分我会在这个系列的高级篇会给大家奉上. 目录 一.函数的声明及基本使用 在Kotlin中函数的声明,同JavaScript相似. 1.1.函数的声明 Kotlin中的函数声明关键字为:fu

Java初学——面向对象的封装,继承,多态

一.封装 1.为什要封装 封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问.把尽可能多的东西藏起来,对外提供便捷的接口. 封装的好处:便于使用者正确使用系统,防止错误修改属性 有助于系统之间的松耦合,提高系统独立性 提高软件的可重用性 降低了构建大型系统的风险. 封装的流程: : 2.如何使用封装 在myexclipse中在已经建好的类中,按住快捷键Shift+Alt+S选择R 在弹出面板中选择要封装的成员变量.具体流程如图: 快