Java方法(Methods)入门讲解(对比C的函数讲解)

前言:

首先,我在这里标注,本文只作为入门讲解而非全面详细介绍,当然有不少老师讲的比我好很多,本文是为了小白入门,帮助他们解决一些简单的疑惑和快速学习使用Java方法和入门。

我主要从快速入门的例子,基础原理,再实战操作开始讲解。最后是个人心得。

正文:

Java方法是语句的集合,它们在一起执行一个功能。

  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他地方被引用

方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  • 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  • 方法体:方法体包含具体的语句,定义该方法的功能。

说白了,就是类似于调用C的函数,用法相似但又有不同。

首先我们来看个简单例子:
public class method {

    public static void main(String[] args){

       //这是方法的调用
        Mytools TOOL = new Mytools();

        TOOL.printhelloworld();

    }
}
//以下就是 方法 的定义
class Mytools{
    public void printhelloworld(){
        System.out.println("Hello World");
    }
}
定义:一般来说,建议小白先定义一个class类叫做Mytools,public+(类型,例如int,void)+你自己想要的名字

然后就可以在Mytools里面写很多个函数。调用的时候直接  (变量名字).(函数名字)(有输入数值就写,无就空括号)。
例如:TOOL.printhelloworld()

注意:只定义不调用是没法输出的。先定义方法再在main方法调用就可以正常输出。

那么这个程序输出一定是“Hello World”

那么,在C语言中,类似的代码应该是:

#include<stdio.h>

void printHelloWorld(){
	printf("Hello World");

}
int main()
{
	printHelloWorld();
	return 0;
}

当然,我们如果知道在C语言中函数的优点当然就可以大概体会到Java方法的优点:

使程序变得更简短而清晰,提高了代码的重用性可移植性........因此提高开发效率

方法调用基础原理(理解的关键):

想要熟练运用Java方法,必须得搞明白底层逻辑。在此处我用 图来解释:

这是Void无返回值类型的:

这是有返回值类型的

实战操作1(判断一个正整数是奇数还是偶数):

除了int,void比较常用之外,也可以是Boolean类型的代码:

public class method {

    public static void main(String[] args){
        Mytools TOOL = new Mytools();
        Boolean tiaojian=TOOL.jioushu(8);
        //num的值可以自定义或者设置键盘获取.此处以8为例子
        if (tiaojian){
            System.out.println("这是个偶数");

        }
        else {
            System.out.println("这是个奇数");
        }
    }
}
//以下就是 方法 的定义
class Mytools{
    public boolean jioushu(int num){
        if(num%2==0){
            return true;
        }
        else{
            return false;
        }
        //return num % 2 != 0 ?ture;false;
    }
}

输出结果是:

实战操作2:(设计一个程序输出某值或者符号,输出多少行多少列)

面对这种题目,我们最方便的就是用方法来实现,不然我们如果单纯在main方法里面多次输入for循环,一旦要求输出的量多了,不仅仅难以检查(不美观),而且程序功能难以移植。

于是我们先设计一个方法,主要获取需要输出多少行多少列,然后获取需要输出的值。

import java.util.Scanner;

public class PrintfArr {
    public static void main(String[] args) {
        System.out.println("请输入你要输出的行数");
        Scanner a =new Scanner(System.in);
        int m=a.nextInt();//获取行数

        System.out.println("请输入你要输出的列数");
        Scanner b =new Scanner(System.in);
        int n=a.nextInt();//获取列数

        System.out.println("请输入你要输出的符号");
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();//获取字符串

        print chengxu = new print();
        chengxu.printfarr(m,n,str);

    }
    static class print {
        public void printfarr(int a, int b, String c){
            //c就是要输出的
            for(int i=0;i<a;i++)//行{
                for(int j=0;j<b;j++)//列{
                    System.out.print(c+"\t");//每个数字间隔一个空间美观
                }
                System.out.print("\n");//每次输出一行之后就自动换行
            }
        }
    }
}

如代码所示,因为我们设计了一个方法,一个程序显得逻辑十分清晰,而且我们甚至还可以把前面获取数值的Scanner也设计进去,但是此处我不做演示了。而且后面的print类可以直接复制到别的文件调用。

输入及输出结果1:

输入及输出结果2:

总结:

小白在学习的过程中,个人认为:首先要学会方法的定义和调用,一定一定要熟练!

有的人一开始只会定义而不会正确的在main方法里调用,有的人连定义方法的时候忘了加class.....

我推荐就是尽量多自己写程序实践一下,看看能不能在没有提示的情况下完整的写出整个程序,所以你就可以知道你哪里不熟练,或者学习的不够准确。

或者也可以试试我最后这个练习题,相信对你的学习有很大帮助,当你学会用这些基础的方法之后,一定要多设计不同的程序来体验设计的乐趣,同时做到巩固加深。

希望对你的JAVA学习有所帮助,有问题可以在评论区讨论留言(本人看到会回复)

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑梓妍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值