前言:
首先,我在这里标注,本文只作为入门讲解而非全面详细介绍,当然有不少老师讲的比我好很多,本文是为了小白入门,帮助他们解决一些简单的疑惑和快速学习使用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学习有所帮助,有问题可以在评论区讨论留言(本人看到会回复)