Java的方法类似于其它语言的函数。是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
修饰符 返回值 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
调用方法:对象名.方法名(实参列表)
Java支持两种调方法的方式,根据方法是否返回值来选择。
当方法返回一个值的时候,方法调用通常被当作一个值。例如:
int larger = max(30,40);
如果方法返回值是void,方法调用一定是一条语句。
System.out.println("Hello,L");
值传递(Java)和引用传递
代码1
package com.practice.method;
public class Demo01 {
//main方法
public static void main(String[] args) {
//实际参数:实际调用传递给他的参数
int sum = add(1,2);
System.out.println(sum);
//test();
}
//加法
//形式参数,用来定义作用的
public static int add(int a,int b){
return a+b;
}
public static void test(){
for (int i = 0; i <= 1000; i++){
if (i %5==0 ){
System.out.print(i+"\t");
}
if (i %(5*3)==0 ){//每行
System.out.print("\n");
}
}
}
}
代码2
package com.practice.method;
public class Demo02 {
public static void main(String[] args) {
int max = max(8, 8);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result = 0;
if (num1==num2){
System.out.println("num1==num2");
return 0;//return 0 特殊情况下用于终止方法
}
if (num1 > num2) {
result = num1;
}
if (num1 < num2) {
result = num2;
}
return result;
}
}
有时候运行一个程序时再给他传递给它消息。这需要传递命令行参数给main()函数实现。
public class CommandLine{
public static void main(String args[]){
for(int i=0; i<args.length; i++){
System.out.println("args[" + i +"]:" + args[i]);
}
}
}
JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
在方法声明中,在指定参数类型后加一个省略号(…)。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
package com.practice.method;
public class Demo05 {
public static void main(String[] args) {
//调用可变参数的方法
printMax(34,3,5,6,99,53.0);
printMax(new double[]{1,2,3});
}
public static void printMax(double... numbers){
if(numbers.length == 0){
System.out.println("No argument passed");
return;
}
double result = numbers[0];
//排序!
for(int i = 1; i < numbers.length; i++){
if(numbers[i] > result){
result = numbers[i];
}
}
System.out.println("The max value is " + result);
}
}
代码
package com.practice.method;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,2,3,4,5,6,88);
}
public void test(int x,int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
System.out.println(i[5]);
}
/* public void method(){}
public void method(int i){}
public void method(int i,int i2){}
public void method(int i,double i2){}*/
}
能不用递归就不用递归
原文:https://www.cnblogs.com/L008T002/p/15153727.html