/* 方法的声明与使用
方法就是一段可以看重复调用的代码段 ,例如有100行代码,要在多个地方用到此代码,如果在各个地方都重复编写此部分代码,则肯定比较麻烦,而且此部分代码如果进行修改,也比较困难,所以此时可以将此部分嗲吗定义为一个方法,以方便代码的修改于调用。
方法又被称为函数,这两者本身没有区别,都是同样的概念,只是称呼方式不同。
方法的定义在Java中可以使用多种方式:
直接使用主方法main()调用方式
public static 返回值类型 方法名称(类型 参数1,类型 参数2,---){
程序语句;
[return 表达式];
}
如果不需要传递参数到方法,方法后面的括号为空,如果方法没有返回值,则在返回值类型出明确些void,这个时候return语句可以省略。
方法执行完后无论是否存在返回值都将返回到方法调用处并向下继续执行。
*/
//定义一个方法,在主方法中进行调用
package lz;
public class MethodDemo01 {
public static void main(String[] args) {
printInfo(); //调用printInfo()方法
printInfo(); //调用printInfo()方法
printInfo(); //调用printInfo()方法
System.out.println("Hello world!");
}
public static void printInfo() { //定义一个方法,此处方法没有返回值,由于这个方法被main主方法直接调用,所以前面必须加public static
String c[] = {"你好","我在学习","Java","用于","数据挖掘"}; //定义一个字符串数组
for(int x = 0; x <c.length; x++) { //循环输出
System.out.print(c[x]);
}
System.out.println(""); //换行
}
}
//定义类的时候,首个单词的首字母大写,后面单词均为小写;
//定义方法的时候首个单词的首字母为小写,后面的单词首字母必须大写.
//有返回值的调用方法
package lz;
public class MethodDemo02 {
public static void main(String[] args) {
int x = addX(101,202);
int xx= addX(10,20,30);
float y = addY(1.03f,23.34f);
System.out.println("addX的结果:" + x);
System.out.println("addX的结果:" + y);
System.out.println("addXX的结果:" + xx);
System.out.println(x + y + xx);
}
//定义方法,完成两个整数的加饭,方法返回一个int型整数
public static int addX(int x1,int x2) {
int temp = 0;
temp = x1 + x2;
return temp;
}
//再定义一个addX方法,这次有三个参数
public static int addX(int x1,int x2,int x3) {
int temp = 0;
temp = x1 + x2 + x3;
return temp;
}
//定义方法二,完成两个浮点数据的加法,返回一个float型数据
public static float addY(float y1,float y2) {
float temp = 0;
temp = y1 + y2;
return temp;
}
}
/* 在方法中可以定义多个变量,这些变量之中值在方法的 内部起到作用,所以可以吧这些变量称为局部变量.
addX方法我们使用了两次,但是参数的类型和参数的个数不同,这就是方法的重载:通过传递参数的个数及类型的不同可以完成不同功能的方法调用
*/
//递归调用:
/*递归调用时一种特殊的方法调用----方法自己调用自己
*/
package lz;
public class MethodDemo03 {
public static void main(String[] args) {
System.out.println("计算结果:" + sum(100)); //调用操作
}
public static int sum(int num) { //定义方法用于求和操作
if(num == 1) { //判断是否加到最后一个数
return 1;
}else {
return num + sum(num-1); //递归调用
}
}
}