1.什么是方法
简单示例
public class Demo01 {
public static void main(String[] args) {
//引用方法
//实际参数:实际调用传递给它的参数,如1,2
int sum = add(1, 2);
System.out.println(sum);
}
//定义一个简单的方法,方法名遵循首字母小写和驼峰原则
//形式参数:用来定义作用的,如a,b
public static int add(int a,int b){
return a+b;
}
}
2.方法的定义和调用
方法的定义
示例
public class Demo02 {
public static void main(String[] args) {
//方法的调用
int max = max(10, 30);
System.out.println(max+"比较大");
}
//方法的定义:比较两个数的大小
public static int max(int a,int b){
int x = 0;
if(a==b){
System.out.println(a+"和"+b+"相等");
return 0; //终止方法:当遇见return时,方法终止
}else if(a>b){
x = a;
}else {
x = b;
}
return x; //有返回值的方法必须使用return返回
}
}
方法的调用
示例
public class Demo02 {
public static void main(String[] args) {
//方法的调用
int max = max(10, 30);
System.out.println(max+"比较大");
}
//方法的定义:比较两个数的大小
public static int max(int a,int b){
int x = 0;
if(a==b){
System.out.println(a+"和"+b+"相等");
return 0; //终止方法:当遇见return时,方法终止
}else if(a>b){
x = a;
}else {
x = b;
}
return x; //有返回值的方法必须使用return返回
}
}
3.方法重载
示例
public class Demo02 {
public static void main(String[] args) {
//方法的调用
double max = max(10.0, 30.0);
System.out.println(max+"比较大");
}
//方法的定义:比较两个数的大小
public static int max(int a,int b){
int x = 0;
if(a==b){
System.out.println(a+"和"+b+"相等");
return 0; //终止方法:当遇见return时,方法终止
}else if(a>b){
x = a;
}else {
x = b;
}
return x; //有返回值的方法必须使用return返回
}
//方法的重载
public static double max(double a,double b){
double x = 0;
if(a==b){
System.out.println(a+"和"+b+"相等");
return 0; //终止方法:当遇见return时,方法终止
}else if(a>b){
x = a;
}else {
x = b;
}
return x; //有返回值的方法必须使用return返回
}
}
4.命令行传参
示例
public class CommandDemo01 {
public static void main(String[] args) {
//args.length:数组长度
for (int i = 0; i < args.length; i++) {
System.out.println("args["+ i +"]:"+args[i]);
}
}
}
5.可变(不定项)参数
示例
public class VariableDemo01 {
public static void main(String[] args) {
//用对象调用方法
VariableDemo01 variableDemo01 = new VariableDemo01();
variableDemo01.printMax(5,6,45,8.8,6.5,9.7);
//variableDemo01.printMax(new double[]{5,6,45,8.8,6.5,9.7});
}
//
public void printMax(double... num){
if (num.length == 0){
System.out.println("没有参数可比较!");
return;
}
//定义变量存放最大值,将数组第一个值假设为最大值赋值给它
double max = num[0];
//排序
for (int i = 1; i < num.length; i++) {
if (num[i] > max){
max = num[i];
}
}
System.out.println("最大的数为:"+max);
}
}
6.递归(重点)
示例
public class RecursionDemo01 {
//递归思想理解,能不用尽量不用,基数小的计算可用
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n==1){
return 1; //递归头
}else {
return n*f(n-1); //递归体
}
}
}