方法
方法:是将具有独立功能的代码组织成为一个整体,使其具有特殊功能的代码块
1. 定义:
public static void 方法名() {
}
2. 调用
方法的调用格式
1.单独调用 method();
2.打印调用 System.out.println( method() );
3.赋值调用 int kk = method();
练习
需求:设计一个方法用于计算控制台输出的两个数的和
public static void main(String[] args) {
// 获取总和
getMax();
}
public static void getMax(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a = sc.nextInt();
System.out.println("请输入第二个数字:");
int b = sc.nextInt();
int sum = a + b;
System.out.println("两个数字的和是:"+ sum);
}
a. 方法的定义和调用图
b. 带参数的方法定义图
c. 带参数的方法调用图
d. 形参和实参图
e. 带返回值的方法的定义和调用图

3. 方法的重载
目的:
方便方法的调用者
例子:System.out.println()
4. 方法的参数传递
a. 基本数据作为参数传递,传递的是数据值,不是地址值,所以不影响实际参数的值
b. 引用数据传递的是地址,形参的改变,影响实际参数的值
c. String 属于引用数据类型,但是参数传递的时候,按基本数据类型传递
5. 练习
1). 分析以下需求,并用代码实现(每个小需求都需要封装成方法)
1.求两个整数之和
2.求两个小数之和
3.判断两个整数是否相等
4.判断两个小数是否相等
5.获取两个整数中较大的值
6.获取两个小数中较大的值
7.获取两个整数中较小的值
8.获取两个小数中较小的值
9.用一个方法获取两个整数中较大的值或较小的值*/
public class Test1 {
public static void main(String[] args) {
int a = 10;
int b = 15;
//求两个整数之和
int sum_int = sum(a, b);
System.out.println(sum_int);
//求两个小数之和
double c = 11.11;
double d = 12.12;
double sum_double = sum(c, d);
System.out.println(sum_double);
//判断两个整数是否相等
int e = 12;
int f = 13;
boolean equals_int = equals(e, f);
System.out.println(equals_int);
//判断两个小数是否相等
double g = 12.23;
double h = 12.23;
boolean equals_double = equals(g, h);
System.out.println(equals_double);
//获取两个整数中较大的值
int i = 23;
int j = 24;
int max_int = max(i, j);
System.out.println(max_int);
//获取两个小数中较大的值
double k = 45.4;
double l = 55.55;
double max_double = max(k, l);
System.out.println(max_double);
//获取两个整数中较小的值
int m = 36;
int n = 24;
int min_int = min(m, n);
System.out.println(min_int);
//获取两个小数中较大小的值
double o = 45.4;
double p = 55.55;
double min_double = min(o, p);
System.out.println(min_double);
//用一个方法获取两个整数中较大的值或较小的值
int w = 34;
int x = 25;
//传入flag变量,来确认是返回最大值还是最小值
int max_num = max_min(w, x, 1);
System.out.println(max_num);
int min_num = max_min(w, x, 0);
System.out.println(min_num);
}
public static int sum(int a, int b) {
return a + b;
}
public static double sum(double c, double d) {
return c + d;
}
public static boolean equals(int e, int f) {
return e == f;
}
public static boolean equals(double g, double h) {
return g == h;
}
public static int max(int i, int j) {
if (i > j) {
return i;
} else {
return j;
}
}
public static double max(double k, double l) {
if (k > l) {
return k;
} else {
return l;
}
}
public static int min(int m, int n) {
if (m > n) {
return n;
} else {
return m;
}
}
public static double min(double o, double p) {
if (o > p) {
return p;
} else {
return o;
}
}
public static int max_min(int w, int x, int flag) {
if (flag == 1) {
//求最大值
if (w > x) {
return w;
} else {
return x;
}
} else {
//求最小值
if (w > x) {
return x;
} else {
return w;
}
}
}
2 ).
a. 定义方法public static boolean isSXH(int num),
功能:判断数字num是否是水仙花数,如果是返回true,如果不是返回false。
b. 在main方法中调用该方法,传入数字,打印结果。(所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。)
打印:传入数字153,结果为true,该数字是水仙花数。*/
public class Test2 {
public static void main(String[] args) {
int num = 153;
//定义一个boolean类型的变量接收返回值
boolean flag = isSXH(num);
System.out.println(flag);
}
public static boolean isSXH(int num) {
//取出各位 十位 百位的数字
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100;
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == num) {
return true;
} else {
return false;
}
}
}