新的挑战
还记得我么们第一讲中的乘法运算吗?
for(int i=1;i<=10;i++)
System.out.printf("%d * %d = %d", 5 , i , 5 * i ).println();
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
如果我想 打印 6或者7的乘法运算呢? 有没有一种简单的方法?
printMultiTable(5);
printMultiTable(6);
下面让我们开始学习一下Java的方法。
基本方法
那什么是方法呢?
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
基础语法
方法被创建在类中,方法创建方式:
修饰 返回值类型 方法名 (参数类型 参数名){
...
方法体
...
return 返回值;
}
下面我们一个一个来看
-
修饰
告诉Java编译器,告诉编译器如何调用该方法。定义了该方法的访问类型。
如果不写的话, 默认会是protected。
public
protected
private
- 返回值类型
方法的返回值类型可以是int等基本类型,也可是String等引用类型。
有些方法执行所需的操作,但没有返回值。在这种情况下,就定义为void。
-
方法名
方法的实际名称。方法名和参数列表共同构成方法签名。
-
参数类型
参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。
参数可以是 int等基本类型,也可是String等引用类型。
参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
-
方法体
方法体包含具体的语句,定义该方法的功能。
-
return
Java的关键字, 在返回类型为Void的时候,可以不写return语句。
返回值要和返回值类型的类型一致。
下面我们创建我们来写一个方法
-
打印两次“Hello World"。
修饰: 我们指定public。
返回值类型: 我们不需要返回值。
方法名: printHelloWorldTwice
参数类型,参数名: 我们这次不需要。
方法体:
System.out.println("Hello World"); System.out.println("Hello World");
return: 这里我们省略。
那么我们把这些组装起来。
public void printHelloWorldTwice(){ System.out.println("Hello World"); System.out.println("Hello World"); }
那我们在Main方法里调用一下。
public static void main(String[] args) { printHelloWorldTwice(); }
恭喜你,已经可以创建方法。
下面我们那就看开始我们的练习。
练习
- 创建一个方法, printHelloWorldThrice打印三次HelloWorld并执行它。
- 创建一个方法,打印下面的几句话。
青,取之于蓝而青于蓝; 冰,水为之而寒于水。 木直中绳,𫐓以为轮, 其曲中规,虽有槁曓, 不复挺者,𫐓使之然也。
有参数的方法
为什么我们需要创建两个不同的方法printHelloWorldTwice和printHelloWorldThrice?
如果我们需要打印四次呢?
思考一下!!!
我想你会想到了。
sayHelloWorld(5);
sayHelloWorld(2);
那么我们改如何写呢?
public void printHelloWorld(int numberOfTimes){
for(int i=1; i<=numberOfTimes; i++) {
System.out.println("Hello World");
}
}
练习
- 创建一个方法,printNumbers(int n)打印数字 从1到n。
- 创建一个方法,printSquaresOfNumbers(int n) 打印平方( 如:2 * 2 ) 从1到n。
回到开始的挑战
public void printMultiTable(int number) {
for(int i = 1;i <= 10;i++) {
System.out.printf("%d * %d = %d", number , i , number * i ).println();
}
}
恭喜你,完成之前的挑战。
方法- 传递多个参数
创建一个方法,并打印计算两个数的和。
public void sumOfTwoNumber(int n1, int n2){
System.out.printf("%d * %d = %d", n1, n2 , n1 + n2);
}
方法看可以更好的组织代码, 对于编程来说,他们是很重要的一部分。 所以在为方法命名时候,我们一定要走心,这样我们就可以直接看到看方法名来判断这个方法时干什么的,这个样就可以不用读代码。
方法- 返回值
为了更好地理解返回值的用法,我们练习一个有返回值的方法。
返回值有什么好处,每个方法都需要一个返回值吗?
public int sumOfTwoNumber(int n1, int n2){
return n1 + n2;
}
练习
-
创建一个方法, 返回三个参数的和。
-
创建一个方法, 通过给定的两个角的角度,来求三角形的第三角的角度。
提示; 三角形的三个角的和为180. 你认为这里参数用int好吗?
关于方法的总结
- 方法
- 定义, 声明
- 执行, 调用
- 方法参数
- 没有参数
- 一个或多个
- 返回值
- void
- 基本类型,引用类型