Java 方法

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-4-22

Java 方法
在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢?

println() 是一个方法。
System 是系统类。
out 是标准输出对象。
这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。

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

方法是解决一类问题的步骤的有序组合
方法包含于类或对象中
方法在程序中被创建,在其他地方被引用
方法的优点
1. 使程序变得更简短而清晰。
2. 有利于程序维护。
3. 可以提高程序开发的效率。
4. 提高了代码的重用性。

方法的命名规则
1.方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。
2.下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test_,例如 testPop_emptyStack。

方法的定义
一般情况下,定义一个方法包含以下语法:

修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}

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

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

11楼
DC憨憨 2022-4-22
这个程序包含 main 方法和 max 方法。main 方法是被 JVM 调用的,除此之外,main 方法和其它方法没什么区别
12楼
DC憨憨 2022-4-22
main 方法的头部是不变的,如例子所示,带修饰符 public 和 static,返回 void 类型值,方法名字是 main,此外带个一个 String[] 类型参数。String[] 表明参数是字符串数组。
13楼
DC憨憨 2022-4-22
void 关键字
本节说明如何声明和调用一个 void 方法
14楼
DC憨憨 2022-4-22
下面的例子声明了一个名为 printGrade 的方法,并且调用它来打印给定的分数。示例TestVoidMethod.java 文件代码:public class TestVoidMethod { public static void main(String[] args) { printGrade(78.5); } public static void printGrade(double score) { if (score >= 90.0) { System.out.println('A'); } else if (score >= 80.0) { System.out.println('B'); } else if (score >= 70.0) { System.out.println('C'); } else if (score >= 60.0) { System.out.println('D'); } else { System.out.println('F'); } }}
15楼
DC憨憨 2022-4-22
以上实例编译运行结果如下:

C
16楼
DC憨憨 2022-4-22
这里printGrade方法是一个void类型方法,它不返回值。

一个void方法的调用一定是一个语句。 所以,它被在main方法第三行以语句形式调用。就像任何以分号结束的语句一样。
17楼
DC憨憨 2022-4-22
通过值传递参数
调用一个方法时候需要提供参数,你必须按照参数列表指定的顺序提供。

例如,下面的方法连续n次打印一个消息:

TestVoidMethod.java 文件代码:
public static void nPrintln(String message, int n) {
for (int i = 0; i n; i++) {
System.out.println(message);
}
}
18楼
DC憨憨 2022-4-22
示例
下面的例子演示按值传递的效果。

该程序创建一个方法,该方法用于交换两个变量。

TestPassByValue.java 文件代码:
public class TestPassByValue {
public static void main(String[] args) {
int num1 = 1;
int num2 = 2;

System.out.println("交换前 num1 的值为:" +
num1 + " ,num2 的值为:" + num2);

// 调用swap方法
swap(num1, num2);
System.out.println("交换后 num1 的值为:" +
num1 + " ,num2 的值为:" + num2);
}
/** 交换两个变量的方法 */
public static void swap(int n1, int n2) {
System.out.println("\t进入 swap 方法");
System.out.println("\t\t交换前 n1 的值为:" + n1
+ ",n2 的值:" + n2);
// 交换 n1 与 n2的值
int temp = n1;
n1 = n2;
n2 = temp;

System.out.println("\t\t交换后 n1 的值为 " + n1
+ ",n2 的值:" + n2);
}
}
19楼
DC憨憨 2022-4-22
以上实例编译运行结果如下:

20楼
DC憨憨 2022-4-22
传递两个参数调用swap方法。有趣的是,方法被调用后,实参的值并没有改变。

评论

登录后才可发表内容
  • 主题

    31

  • 帖子

    8085

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0269s Mem:2241Kb