本文共 5677 字,大约阅读时间需要 18 分钟。
描述:
Java中方法是语句的集合,它们在一起执行一个功能。
方法是解决一类问题的步骤的有序组合,它在类中定义,属于类的成员,包含于类或对象中。
方法在程序中被创建后,在其他使用了该方法的地方被引用。
优点:
设计原则:
命名规范:
语法:
/* 修饰符 */ /* 返回值类型 */ 方法名 (/* 参数列表 */) /* 异常抛出类型 */{ /* 方法体 */ /* return语句 */}
描述:
修饰符:修饰符是可选项,可有多个不同修饰符,例如public、static、abstract、final等,多个修饰符之间是没有先后顺序的 。修饰符告诉编译器如何调用该方法,定义了该方法的访问类型。
返回值类型 :方法可能会返回值,Java是强类型语言,需要显式指定返回值的数据类型。若没有返回值,返回值类型使用关键字'void'。只有构造方法(构造器)才不写任何返回类型,也不写'void'。
方法名:Java标识符之一,是方法的实际名称。定义方法名时要遵守Java标识符的命名规则与规范。方法名和参数列表共同构成方法签名。
参数列表:
异常抛出类型:异常抛出类型是可选项。如果方法中的代码在执行过程中,可能会出现一些异常情况,那么就可以在方法上把这些异常声明并抛出。使用'throws'关键字加异常类型来声明异常抛出类型,'throws'关键字与异常类型之间用空格隔开。可以同时声明抛出多个异常类型,使用逗号隔开不同异常类型即可。
方法体:方法体指方法定义时大括号里包含的所有语句,定义该方法的功能。
'return'语句:
'return'语句位于方法体中。
'return'语句有两个作用:
'return'语句也可以不带返回值,其实主要目的就是用于中断该方法的执行,返回到调用该方法的语句处。
若方法声明里有返回值类型,则方法体最终必须使用'return'语句返回对应类型的返回值;若方法声明的返回值类型为'void',则定义方法体时可以没有'return'语句。
示例:
/* 比较两个数的大小,获取更大的值 */public static int max(int num1, int num2) throws Exception { if (num1 == num2) { throw new Exception("比较两个数的大小时,不可以传入同样的值!"); } if (num1 > num2) { return num1; } else { return num2; }}
描述:
注意:
'static'修饰符:
值传递和引用传递:
'main'方法:
Java的'main'方法的头部写法是固定的,如下所示:
public static void main(String[] args/* 该形参名可随意定义 */) { /* 方法体可随意定义 */}
Java的'main'方法是被JVM调用的,除此之外,'main'方法和普通方法没什么区别。
示例:
/* 运行main方法,结果为在控制台依次输出:2 5 */public class TestMax { /* main方法里调用max方法 */ public static void main(String[] args) { int num1 = 2; int num2 = 5; int maxNum = new TestMax().max(num1, num2); System.out.println(num1); System.out.println(maxNum); } /* 比较两个数的大小,获取更大的值 */ public int max(int num1, int num2) { if (num1 >= num2) { return num1; } num1 = num2; return num1; }}
描述:
注意:
示例:
/* 运行main方法,结果为在控制台依次输出:5 5.5 */public class TestSum { /* main方法里调用两个sum重载方法 */ public static void main(String[] args) { double sum = new TestSum().sum(2, 3); System.out.println(sum); sum = new TestSum().sum(2.2, 3.3); System.out.println(sum); } /* 得到两个浮点数的和 */ public double sum(double num1, double num2) { return num1 + num2; } /* 得到两个整数的和 */ public double sum(int num1, int num2) { return num1 + num2; }}
描述:
注意:
示例:
/* 运行main方法,结果为在控制台输出:120 */public class TestFactorial { /* main方法里调用阶乘方法 */ public static void main(String[] args) { System.out.println(factorial(5)); } /* 利用递归进行阶乘的计算 */ public static int factorial(int n) { if (n == 1) { return 1; } else { return n * factorial(n - 1); } }}
语法:
typeName... parameterName
描述:
注意:
示例:
/* 运行main方法,结果为在控制台依次输出:1 2 3 4 5 */public class TestVariable { /* main方法里调用可变参数方法 */ public static void main(String[] args) { variable(1, 2, 3, 4, 5); } /* 遍历打印可变参数 */ public static void variable(int... nums) { for (int i = 0; i < nums.length; i++) { System.out.println(nums[i]); } }}
描述:
示例:
Java代码
/* 在mian方法中遍历打印args参数 */public class CommandLine { public static void main(String[] args){ for(int i=0; i
CMD命令
D:\studyworkspace\springboot-demo\src\main\java\com\conyoo\springbootdemo\test> javac CommandLine.javaD:\studyworkspace\springboot-demo\src\main\java\com\conyoo\springbootdemo\test>cd D:\studyworkspace\springboot-demo\src\main\javaD:\studyworkspace\springboot-demo\src\main\java>java com.conyoo.springbootdemo.test.CommandLine command line 1 2 3args[0]: commandargs[1]: lineargs[2]: 1args[3]: 2args[4]: 3
转载地址:http://bbuxz.baihongyu.com/